java小記和java內(nèi)部類的使用

為什么學(xué)習(xí)java

我是一名iOS開發(fā)者,大學(xué)基本沒寫過代碼,后來是走上了培訓(xùn)這條不歸路。一開始工作時(shí)候的不適應(yīng)和迷茫,到現(xiàn)在挺享受現(xiàn)在的工作。學(xué)習(xí)java是因?yàn)閖ava語言在后端的統(tǒng)治力,以及我對(duì)后端業(yè)務(wù)的濃厚興趣。我對(duì)人工智能有很好的期待,人工智能的發(fā)展的前提是大數(shù)據(jù),說到大數(shù)據(jù)首先要會(huì)玩數(shù)據(jù),后端有很多跟數(shù)據(jù)打交道比較頻繁的業(yè)務(wù)場景。而且在很多公司的時(shí)候,懂后端業(yè)務(wù)的技術(shù)跟容易獲得機(jī)會(huì)。以上是我想要學(xué)習(xí)java的原因。

java內(nèi)部類的使用

有這樣一個(gè)業(yè)務(wù)場景,當(dāng)我們定義了一個(gè)接口,然后又有一個(gè)基類。此時(shí)接口和基類里面有一個(gè)方法是重名的,此時(shí)如果子類需要調(diào)用接口和子類方法的時(shí)候沒有辦法直接實(shí)現(xiàn)。解決方案是通過內(nèi)部類變相的實(shí)現(xiàn)接口的方法。
聲明接口和基類

interface Teachable{    void work();}
public class Programmer {    
private String name;   
     public Programmer(){
};    
public Programmer(String name){     
     this.name = name;   
 }   
 public void setName(String name) { 
       this.name = name;  
  }    
public String getName() {       
     return name;   
 }    
//
  public void work(){        
System.out.println(name+"來自"+getClass());   
 }
}

創(chuàng)建子類和子類內(nèi)部類

public class TeachableProgrammer extends Programmer {  
  public TeachableProgrammer(){
}    
public TeachableProgrammer(String name){   
     super(name);   
 }  
  private void teach(){ 
       System.out.println(getName() + "來自接口");   
 }      
//內(nèi)部類
private class Clourse implements Teachable {   
 //來自接口的 
     public void work(){            
              teach();       
 }  
  }    
public Teachable getCallbackReference(){       
   return new Clourse();    
}
}

調(diào)用和Debug

public class TestTeachableProgrammer { 
   public static void main (String [] args) {      
  TeachableProgrammer tp = new TeachableProgrammer("你");       
       tp.work();      //來自父類
      tp.getCallbackReference().work();   //來自接口實(shí)現(xiàn)
 }
}

其實(shí),我想最簡單的解決辦法就是方法名不要重名就好了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,759評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,098評(píng)論 25 708
  • 我有一個(gè)朋友,她的口頭禪是“我有一個(gè)朋友...” 也不知道是不是我自己有毛病,每當(dāng)聽到別人開始說“我有一個(gè)朋友/同...
    anergo閱讀 523評(píng)論 0 51
  • 上篇 山上修身能養(yǎng)性,江湖水深又無情。 去凡脫俗是仙人,衣食無憂才是真。 話說吳用下山以后,見到的全是些熱鬧喧囂,...
    無_念閱讀 290評(píng)論 0 0
  • 讓我想想,上次認(rèn)真寫作文應(yīng)該是高考語文的時(shí)候了,除去N年前QQ空間里的一些隨意心情涂鴉,這算是我這么多年來第一...
    杏子秋閱讀 210評(píng)論 0 0