class Zi extends Fu { public void a() { System.out.println("zi----a"); } public void b() { System.out.println("zi----b"); super.b(); System.out.println(super.toString()); } }这段代码可以理解成这个class Zi extends Fu { public void a() { System.out.println("zi----a"); } public void b() { System.out.println("zi----b"); System.out.println("fu---b"); a(); System.out.println(super.toString()); } } 实际上,是
class Zi extends Fu { public void a() { System.out.println("zi----a"); } public void b() { System.out.println("zi----b"); super.b(); System.out.println(super.toString()); } }这段代码可以理解为 class Zi extends Fu { public void a() { System.out.println("zi----a"); } public void b() { System.out.println("zi----b"); System.out.println("fu---b"); a(); System.out.println(super.toString()); } } super.b()就是做了代码的迭代。因为实际上执行的是Zi.b()方法,所以调用的事Zi.a()方法
toString方法,你在父类中没有写,那么因为任何类都是Object的子类,所以你实际上调用的是Object中的toString方法,你看下api对这个方法的描述就懂了.
实际上super.b()不是指父类的对象调用父类方法.不等于f.b(),只是在子类中要调用父类方法用super关键字,你当前的对象实际上只是new出来的子类的对象
实际上super.b()不是指父类的对象调用父类方法.不等于f.b(),只是在子类中要调用父类方法用super关键字,你当前的对象实际上只是new出来的子类的对象
能在解释的清楚点吗 那super.b()难道不是父类的对象调用父类的方法 是本身自己的对象调用父类的方法吗 能接受下为什么吗
class Zi extends Fu {
public void a() {
System.out.println("zi----a");
}
public void b() {
System.out.println("zi----b");
super.b();
System.out.println(super.toString());
}
}这段代码可以理解成这个class Zi extends Fu {
public void a() {
System.out.println("zi----a");
}
public void b() {
System.out.println("zi----b");
System.out.println("fu---b");
a();
System.out.println(super.toString());
}
}
实际上,是
class Zi extends Fu {
public void a() {
System.out.println("zi----a");
}
public void b() {
System.out.println("zi----b");
super.b();
System.out.println(super.toString());
}
}这段代码可以理解为
class Zi extends Fu {
public void a() {
System.out.println("zi----a");
}
public void b() {
System.out.println("zi----b");
System.out.println("fu---b");
a();
System.out.println(super.toString());
}
}
super.b()就是做了代码的迭代。因为实际上执行的是Zi.b()方法,所以调用的事Zi.a()方法
我的意思是说 super.b(); b里面嵌套还有a方法 为啥最后是调用子类的a方法而不是父类的a方法
实际上super.b()不是指父类的对象调用父类方法.不等于f.b(),只是在子类中要调用父类方法用super关键字,你当前的对象实际上只是new出来的子类的对象
哎 还是不太明白啊