多态(Polymorphism)

多态存在的三个必要条件

  •     有继承关系
  •     有方法重写
  •     父类引用指向子类对象
class Father {
	
	int num = 10;
	
	public Father() {
		super();
	}
	
	public void work() {
		System.out.println("father earning maney.");
	}
}

class Son extends Father {
	
	int num = 20;
	
	public Son() {
		super();
	}
	
	public void work() {
		System.out.println("son study.");
	}
}

public class Demo1_Polymophysm {

	public static void main(String[] args) {
		Father f = new Son();
		
		System.out.println(f.num);    // 10
		
		f.work();                    // son study.
	}

}
输出结果:
    10
    son study.

成员变量

  •     编译看左边(父类),运行看左边(子类)

成员方法

  •     编译看左边(父类),运行看右边(子类)    // 动态绑定

静态方法

  •     编译看左边(父类),运行看左边(子类)

猜你喜欢

转载自blog.csdn.net/leobett/article/details/81063157