-
成员方法
编译看左边(父类),运行看右边(子类)(对于成员方法,编译的时候首先看父类有没有此成员方法,有则编译通过,无则编译不通过,然后执行的时候看子类重写的方法,如果子类没有重写此方法,则执行父类的方法体,实际上也是执行自己的方法,因为子类从父类继承了此方法,所以说也不算是执行了父类的方法) -
代码详解
class Fu {
public int num = 100;
public void show() {
System.out.println("show Fu");
}
public static void function() {
System.out.println("function Fu");
}
}
class Zi extends Fu {
public int num = 1000;
public int num2 = 200;
public void show() {
System.out.println("show Zi");
}
public void method() {
System.out.println("method zi");
}
public static void function() {
System.out.println("function Zi");
}
}
class DuoTaiDemo {
public static void main(String[] args) {
//要有父类引用指向子类对象。
//父 f = new 子();
Fu f = new Zi();
System.out.println(f.num); //100
//System.out.println(f.num2);
f.show();//show Zi
//f.method();
f.function(); //function Fu
}
}
- 图片详解:
编译时检查父类是否有print方法,如果有则编译通过,然后执行为子类方法,称为动态绑定