经典关于多态的demo

 1 class Foo {  
 2     public int a;  
 3   
 4     public Foo() {  
 5         a = 3;  
 6     }  
 7   
 8     public int addFive() {  
 9         a += 5;  
10         return a;  
11     }  
12   
13     public int getA() {  
14         return a;  
15     }  
16 }  
17   
18 public class Bar extends Foo {  
19     public int a;  
20   
21     public Bar() {  
22         a = 8;  
23     }  
24   
25     public int addFive() {  
26         this.a += 5;  
27         return a;  
28     }  
29   
30     public int getA() {  
31         return a;  
32     }  
33   
34     public static void main(String[] args) {  
35         Foo foo = new Bar();  
36         //调用的是子类中的方法  
37         System.out.println(foo.getA());  
38         //直接调用父类中的a  
39         System.out.println("Value: " + foo.a);  
40         //调用的是子类中的方法  
41         System.out.println(foo.addFive());  
42           
43     }  
44 }  

输出结果: 

Value: 3 
13 


楼主,只需要明白一点就行了:在Java中重写指的是方法的重写,而不是属性的重写,还有多态也只是方法的多态 ,没有属性的多态。 

---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
原文地址:https://www.cnblogs.com/zzzzw/p/4965813.html