类成员
一、成员变量
编译时:变量(f)所属类(Fu)中是否有成员变量,有:编译成功,没有:编译失败
运行时:变量(f)所属类(Fu)中是否有成员变量,运行该类(Fu)中的成员变量
1 class Fu 2 { 3 int num = 3; 4 } 5 6 class Zi extends Fu 7 { 8 int num=4; 9 } 10 11 class Demo 12 { 13 public static void main(String[] args) 14 { 15 Fu f=new Zi(); 16 System.out.println(f.num);//结果:3 17 // 18 } 19 } 20 21 class Fu 22 { 23 //int num = 3; 24 } 25 26 class Zi extends Fu 27 { 28 int num=4; 29 } 30 31 class Demo 32 { 33 public static void main(String[] args) 34 { 35 Fu f=new Zi(); 36 System.out.println(f.num);//结果:编译失败 37 } 38 }
二、成员函数
编译时:变量(f)所属类(Fu)中是否有成员函数,有:编译成功,没有:编译失败
运行时:对象所属的类(Zi)中是否有成员函数,有:运行对象的类(Zi)的成员函数,没有:运行父类(Fu)成员函数
1 class Fu 2 { 3 void show() 4 { 5 System.out.println("Fu"); 6 } 7 } 8 9 class Zi extends Fu 10 { 11 void show() 12 { 13 System.out.println("Zi"); 14 } 15 } 16 17 class Demo 18 { 19 public static void main(String[] args) 20 { 21 Fu f=new Zi(); 22 f.show();//结果:Zi 23 } 24 } 25 26 class Fu 27 { 28 //void show() 29 //{ 30 // System.out.println("Fu"); 31 //} 32 } 33 34 class Zi extends Fu 35 { 36 void show() 37 { 38 System.out.println("Zi"); 39 } 40 } 41 42 class Demo 43 { 44 public static void main(String[] args) 45 { 46 Fu f=new Zi(); 47 f.show();//结果:编译失败 48 } 49 }
三、静态函数
编译时:变量(f)所属类(Fu)中是否有静态函数,有:编译成功,没有:编译失败
运行时:变量(f)所属类(Fu)中是否有静态函数,有:运行成功,没有:运行失败
1 class Fu 2 { 3 static void show() 4 { 5 System.out.println("Fu"); 6 } 7 } 8 9 class Zi extends Fu 10 { 11 static void show() 12 { 13 System.out.println("Zi"); 14 } 15 } 16 17 class Demo 18 { 19 public static void main(String[] args) 20 { 21 Fu f=new Zi(); 22 f.show();//结果:Fu 23 } 24 } 25 26 class Fu 27 { 28 //void show() 29 //{ 30 // System.out.println("Fu"); 31 //} 32 } 33 34 class Zi extends Fu 35 { 36 static void show() 37 { 38 System.out.println("Zi"); 39 } 40 } 41 42 class Demo 43 { 44 public static void main(String[] args) 45 { 46 Fu f=new Zi(); 47 f.show();//结果:编译失败 48 } 49 }