欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中比較常見(jiàn)的Java super關(guān)鍵字

 更新時(shí)間:2021年06月06日 17:05:30   作者:xu佳佳  
這篇文章主要為大家介紹了Android中比較常見(jiàn)的Java super關(guān)鍵字,具有一定的學(xué)習(xí)參考價(jià)值,感興趣的小伙伴們可以參考一下

super在android中比較常見(jiàn),沒(méi)有java基礎(chǔ)也并不理解,所以空出時(shí)間學(xué)習(xí)了一下。

在Java類(lèi)中使用super來(lái)引用基類(lèi)的成分,比較簡(jiǎn)單,示例如下:

class FatherClass{ 
  public int value; 
  public void f(){ 
    value=100; 
    System.out.println 
    ("FatherClass.value:"+value); 
  } 
} 
 
 
class ChildClass extends FatherClass{ 
  public int value; 
  public void f(){ 
    super.f(); 
    value=200; 
    System.out.println 
    ("ChildClass.value:"+value); 
    System.out.println(value); 
    System.out.println(super.value); 
  } 
} 
 
 
public class test1 { 
  public static void main(String[] args){ 
    ChildClass cc=new ChildClass(); 
    cc.f(); 
  } 
} 

最終輸出的結(jié)果是:

FatherClass.value:100
ChildClass.value:200
200
100

另外繼承中的構(gòu)造也是用到了super,具體規(guī)則如下:

1、子類(lèi)的構(gòu)造過(guò)程中必須調(diào)用其基類(lèi)的構(gòu)造方法。

2、子類(lèi)可以在自己的構(gòu)造方法中使用super(argument_list)調(diào)用基類(lèi)的構(gòu)造方法。

3、如果子類(lèi)的構(gòu)造方法中沒(méi)有顯示的調(diào)用基類(lèi)的構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用基類(lèi)的無(wú)參數(shù)構(gòu)造方法。

4、如果子類(lèi)構(gòu)造方法中既沒(méi)有顯示調(diào)用基類(lèi)構(gòu)造方法,而基類(lèi)又沒(méi)有無(wú)參數(shù)的構(gòu)造方法,則編譯出錯(cuò)。

示例如下:(此處最好可以自己試驗(yàn)一下)

class SuperClass{ 
  private int n; 
   
  SuperClass(){ 
    System.out.println("調(diào)用SuperClass()"); 
  } 
  SuperClass(int n){ 
      System.out.println("調(diào)用SuperClass("+n+")"); 
    } 
} 
 
class SubClass extends SuperClass{ 
  private int n; 
   
  SubClass(int n){ 
     
    //當(dāng)子類(lèi)的構(gòu)造方法中沒(méi)有寫(xiě)super的時(shí)候,系統(tǒng)默認(rèn)的調(diào)用父類(lèi)的沒(méi)有參數(shù)的構(gòu)造方法 
    //相當(dāng)于此處寫(xiě)了如下: 
    //super(); 
     
    System.out.println("調(diào)用SuberClass("+n+")"); 
    this.n=n; 
  } 
   
  SubClass(){ 
    super(300); 
    //在子類(lèi)構(gòu)造過(guò)程當(dāng)中必須調(diào)用父類(lèi)構(gòu)造方法,并且super必須寫(xiě)在第一句(先有爸爸再有兒子) 
     
    System.out.println("調(diào)用SubClass()"); 
  } 
} 
public class test2 { 
  public static void main(String[] args){ 
    SubClass sc1=new SubClass(); 
     
    SubClass sc2=new SubClass(400); 
     
  } 
} 

最終結(jié)果為:

調(diào)用SuperClass(300)
調(diào)用SubClass()
調(diào)用SuperClass()
調(diào)用SuberClass(400)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論