[18/12/01]super 关键字和final 关键字

一、super 关键字

      1、super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。

             使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。

代码示例:

 1 class FatherClass  //父类
 2 {
 3     public int value;
 4 
 5     public void f(){
 6         value=100;
 7         System.out.println("FatherClass.value= "+value);
 8     }
 9 }
10 
11 class ChildClass extends FatherClass //子类
12 {
13     public int value; 
14 
15     public void f(){ //重写父类的f()方法
16         super.f();//调用父类对象的普通方法f()  用super
17         value=200;
18         System.out.println("ChlidClass.value="+value);
19 
20         System.out.println(value);//子类的 value
21         System.out.println(super.value);//父类的 value
24     }
25 }

29 public class Test_1201_01 
30 {
31     public static void main(String[] args) 
32     {
33         new ChildClass().f();
35         
36     }
37         
38     
39 }

      2、若是构造方法的第一行代码没有显式的调用super(...)或者this(...);那么Java默认都会调用super(),含义是调用父类的无参数构造方法。这里的super()可以省略。

代码示例:

 1 //测试super 的第二个用途
 2 //若是构造方法的第一行代码没有显式的调用super(...)或者this(...);那么Java默认都会调用super(),含义是调用父类的无参数构造方法
 3 class FatherClass//父类
 4 {
 5     public FatherClass() //父类的无参构造方法
 6     {
 7         //supr(); 也有这句 会向上追溯 到Object类
 8         System.out.println("父类的构造方法");
 9     
10     }
11 }
12 
13 class ChildClass extends FatherClass
14 {
15     public ChildClass()
16     {
17         // super(); 默认有这句,调用父类的构造方法
18         System.out.println("子类的构造方法");
19     }
20 }
21 
22 public class Test_1201_02 
23 {
24     public static void main(String[] args) 
25     {
26         new ChildClass(); //显然只是对子类创建个对象,但会输出2句。它调用了父类的无参构造方法
27         
28     }
29 }

 二、final关键字

     1. 修饰变量: 被他修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。  如: final  int   MAX_SPEED = 120;

      2. 修饰方法:该方法不可被子类重写。但是可以被重载!                                   如 : final  void  study(){}

      3. 修饰类: 修饰的类不能被继承。比如:Math、String等。                                如:final   class  A {}

 final修饰方法如图所示。

图5-21 final修饰方法.png

 final修饰类如图所示。

图5-22 final修饰类.png

 

posted @ 2018-12-04 21:24  ID长安忆  阅读(156)  评论(0)    收藏  举报