super关键字的经典案例

 1 package testBlog;
 2 
 3 class A{
 4     public int i = 0;
 5     
 6     A(int i){//如果这里传入4
 7         this.i = i;//那么本类中的i就会变成4        
 8     }
 9     
10     public void print() {
11         System.out.println("父类的输出方法");
12     }
13 }
14 
15 
16 class B extends A{
17     public int i;
18     
19     B(int i){//如果传入5
20         super(i-1);//这里就相当于A(int 4){}
21         this.i = i;//本类中的i就会变成5
22     }
23     
24     public void printB() {
25         System.out.println("子类的输出方法");
26         System.out.println("i = "+i);//这里输出的是本类中的i
27     }
28     
29     public void printA() {
30         super.print();
31         System.out.println("i = "+super.i);//这里输出的是父类中的i
32     }
33 }
34 
35 
36 public class Test{
37     public static void main(String[] args) {
38         B b = new B(5);
39         b.printA();
40         b.printB();
41     }
42 }

结果:

父类的输出方法
i = 4
子类的输出方法
i = 5

原文地址:https://www.cnblogs.com/ssC2H4/p/8185818.html