多态的成员的特点

来源:互联网 发布:js input value 编辑:程序博客网 时间:2024/04/27 02:54

在多态中非静态成员函数的特点:

在编译时期:参阅引用类型变量所属的类中是否有调用的方法.如果有,编译通过,如果没有编译失败.

在运行时期:参阅对象所属的类中是否有调用的方法.

简单的总结就是:成员函数在多态调用时,编译看左边,运行看右边.

 

在多态中,成员变量的特点:

无论编译和运行,都参考左边(引用类型所属的类).

在多态中,静态成员函数的特点:

无论编译和运行,都参考左边.

class A {
int a = 1;
static int b = 2;


void show() {
System.out.println("A的show");
}
}


class B extends A {
int a = 3;


void show() {
System.out.println("B的show");
}
}


class abc {
public static void main(String[] args) {
A abc = new B();
B bcd = new B();
System.out.println("成员变量与引用的类型有关:"+abc.a);
System.out.println("成员变量与引用的类型有关:"+bcd.a);
System.out.println("静态成员变量与引用的类型有关:"+A.b);
System.out.print("方法与对象所属的类有关:");
abc.show();
}
}


结果

成员变量与引用的类型有关:1
成员变量与引用的类型有关:3
静态成员变量与引用的类型有关:2
方法与对象所属的类有关:B的show

原创粉丝点击