标签:
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 }
结果为:
A
B
wo shi A
hi:B
8
标签:
原文地址:http://www.cnblogs.com/learns/p/4207987.html