【发布时间】:2017-05-09 12:56:15
【问题描述】:
我是 Java 的新手,我正在编写一个程序,它有两个使用相同父方法的子类,我想找到一种方法来跟踪哪个调用了该方法。
例子:
public class Parent(){
public static int ChildOneUses, ChildTwoUses;
public void Example(){
/* code */
if(/*ChildOne called the method*/)
ChildOneUses++;
else if(/*ChildTwo called the method*/)
ChildTwoUses++;
}
}
public class ChildOne extends Parent(){
/* code */
}
public class ChildTwo extends Parent(){
/* code */
}
public static void main(String[] args){
ChildOne ChildOne = new ChildOne();
ChildTwo ChildTwo = new ChildTwo();
ChildOne.Example();
ChildTwo.Example();
ChildTwo.Example();
}
/* If this code were to run, ChildOneUses would equal 1 and ChildTwoUses would equal 2 */
我不确定这个问题是否有答案,而不仅仅是将父方法移动到每个子类以自行跟踪它们。
【问题讨论】:
-
即使有办法做到这一点,这几乎肯定是糟糕的 oop 风格。
-
为什么你想像这样跟踪方法调用?目的是什么?
-
我仍在学习 java 的过程中,我喜欢编写随机程序来帮助我学习并将这些新想法巩固在我的记忆中,有时它们会让我处于我想要的位置需要学习新事物(像这样),然后我试图找到答案
标签: java class methods parent-child