【发布时间】:2017-05-24 06:52:29
【问题描述】:
所以我有一个父类 A 和一个 A 的内部类称为 I。我正在调用一个函数,即 pop(),它是 A 类的。现在这个 pop() 被 A 的子 B 覆盖了。
现在当从 I 调用 pop 时,是从 A 执行 pop 还是从 B 执行??
package testers;
public class test
{
public void run()
{
System.out.println("Inside test");
}
public void irun()
{
InnerClassOne o=new InnerClassOne();
o.inside();
System.out.println("Inside irun");
}
private void inside()
{
// TODO Auto-generated method stub
}
class InnerClassOne
{
void inside()
{
System.out.println("Inside inner");
test.this.run();
}
}
}
package testers;
public class test2 extends test
{
public void run()
{
System.out.println("Overriden");
}
public static void main(String []args)
{
test t1= new test();
t1.irun();
}
}
【问题讨论】:
-
向我们展示代码(这取决于您调用 pop 方法的实例并假设 pop 不是静态的)。在论坛提问之前可能值得一试。
-
封装测试人员; public class test { public void run(){ System.out.println("Inside test"); } public void irun(){ InnerClassOne o=new InnerClassOne(); o.inside(); System.out.println("irun 内部"); } private void inside() { // TODO 自动生成的方法存根 } class InnerClassOne { void inside() {System.out.println("Inside inner"); test.this.run(); } } }
-
封装测试人员;公共类 test2 扩展测试 { public void run() { System.out.println("Overriden"); } public static void main(String []args){ test t1= new test(); t1.irun(); } }
-
改为更新问题并在此处添加格式化代码
标签: java overloading