java多态成员的特点总结

1:成员变量->编译时:参考引用型变量所属的类中的是否有调用的成员变量,有,编译通过,没有,编译失败。

                   运行时:产考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。

  (简单说:编译和运行时参考等号的左边)

 

2:成员函数—>编译时:参考引用型变量所属的类中是否有调用的函数,有,编译通过,没有,编译失败。

                     运行时:参考的是对象所属的类中是否有调用的函数,有,编译通过,没有,编译失败。

  (简单说:编译时看左边,运行时看右边)

 

3:静态函数—>编译时:参考引用变量所属的类中是否有调用的静态方法,有,编译通过,没有,编译失败。

                    运行时:参考引用变量所属的类中是否有调用的静态方法,有,编译通过,没有,编译失败。

    (简单说:编译和运行看左边)  【其实 静态方法 直接用类名调用即可】

 

技术分享
 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4 
 5 public class test {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         A a = new B();
10         a.dosomething();// wo shi A
11         a.b();// hi:B
12         System.out.println(a.aa);// 8
13 
14     }
15 
16 }
17 
18 class A {
19     int aa = 8;
20 
21     public A() {
22          System.out.println("A");
23     }
24 
25     public static void dosomething() {
26         System.out.println("wo shi A");
27     }
28 
29     public void b() {
30         System.out.println("hi:A");
31     }
32 
33 }
34 
35 class B extends A {
36     int aa = 10;
37 
38     public B() {
39         System.out.println("B");
40     }
41 
42     public static void dosomething() {
43         System.out.println("wo shi B");
44     }
45 
46     public void b() {
47         System.out.println("hi:B");
48     }
49 
50 }
3个特点的实例

 

结果为:

A
B
wo shi A
hi:B
8

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。