內部類


* 成員內部類的的使用格式:定義在外部類的里邊,所以必須通過外部類才能找到內部類
 * 外部類名.內部類名 變量名 = new 外部類名().new 內部類名();
 * 內部類:定義在其他類內部的類
 * 
 * 分類:
 * 成員內部類:定義其他類的成員(類中方法外)位置的類
 * 局部內部類:定義其他類的方法中的類
 * 
 * 成員內部類的定義格式:
 * 修飾符 class 外部類名{
 * 修飾符 class 內部類名{
 * 成員變量;
 * 成員方法;
 * }
 * }
 * 成員內部類的的使用格式:定義在外部類的里邊,所以必須通過外部類才能找到內部類
 * 外部類名.內部類名 變量名 = new 外部類名().new 內部類名();
 * 
 * 我們定義內部類時,就是一個正常定義類的過程,同樣包含各種修飾符、繼承與實現關系等。
 * 在內部類中可以直接訪問外部類的所有成員。
 
 * 一個java文件中可以定義多個類,多個是並列關系
 * 但是只能有一個類使用public修飾,被public修飾的類,必須和文件名相同
 
 * 局部內部類:定義在外部類的方法中
 * 
 * 注意:局部變量的修飾符只能是final
 * 
 * 定義格式:
 * 修飾符 class 外部類名{
 * 修飾符 返回值類名 外部類方法名(參數){
 * (final)class 局部內部類名{
 * 成員變量;
 * 成員方法;
 * }
 * //創建局部內部類的方法使用
 * 局部內部類名 變量名 = new 局部內部類名();
 * 變量名.成員變量
 * 變量名.成員方法(參數);
 * }
 *   
 * }
 * 
 * 使用格式:和局部變量一樣,作用域只在方法中有效;只能在方法中使用,出了方法不能使用
 * 必須在定義完成局部內部類之后,立即創建對象使用
 
 * 匿名內部類:沒有名字,定義在其他類方法中的類
 * 作用:把定義子類,重寫父類的方法,創建子類對象,合成一步完成
 * 把定義實現類,重寫接口的抽象方法,創建實現類對象,合成一步完成
 * 結果:就是一個子類對象,子類對象沒有名字
 * 
 * 格式:
 * new 父類/接口(){
 * 重寫父類/接口中的方法;
 * };
 * 
 * new Smoking(){
  @Override
  public void smoke() {
   System.out.println("匿名內部類,重寫接口的方法!");
  }
  
 };
 以上一堆代碼就是一個創建子類的過程,結果就是一個子類對象,相當於new Teacher()

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM