/*
要点:多态的前提
1,要有类与类的关系,即继承.
2,要有方法重写
3,父类引用子类创建对象.
特点: 1,成员变量:编译看左边(父类).运行看左边(父类).
2,成员方法:编译先看父类中有没有这个方法,没有报错.
编译看左边(父类),运行看右边(子类).?
3,静态方法:编译看左边(父类),运行看右边(子类).
注意:静态方法不叫重写,静态变量和静态方法都叫类变量.随类的加载而加载.
*/- class Demo{
- public static void main(String[] args) {
- Father f = new Son(); //父类引用指向子类对象(f存储一个地址值.)
- System.out.println(f.num); //打印10.(子类)
- f.show(); //打印Son(子类)
- f.method(); //打印Father static method(父类)
- }
- }
- class Father {
- int num = 10;
- public void show(){ //方法重写
- System.out.println("Father");
- }
- public static void method(){
- System.out.println("Father static method");
- }
- }
- class Son extends Father {
- int num = 20;
- public void show(){
- System.out.println("Son");
- }
- public static void method(){
- System.out.println("Son static method");
- }
- }
复制代码
|
|