JAVA基礎(58) 內部類

2021-09-01 04:32:28 字數 1360 閱讀 9511

指的是定義在類的內部的類。

定義在類的內部,方法的外部的內部類,稱為成員內部類

指的是定義在方法內的內部類,稱為區域性內部類。       

class

}   

①如何建立內部類的物件?

外部類類名.內部類類名  物件名稱  = new 外部類().new 內部類();

要產生內部類,首先需要產生外部類(內部類是外部類的乙個成員,對於成員的訪問我們都需要物件)

②對於包含了內部類的類,編譯之後,會產生幾個.class位元組碼檔案?

產生兩個位元組碼檔案

內部類的位元組碼檔案的名稱為外部類$內部類.class

③ 內部類能否訪問外部類的私有的成員屬性?可以

內部類的構成和普通類的構成是一樣,而且內部類能直接訪問外部類的成員,包括私有的成員

④ 內部類能否使用private  public  protected進行修飾

可以。但是內部類使用private修飾之後,在其他類中訪問是不方便的

⑤對於內部類中宣告的變數,類似於外部類中的區域性變數,只能在內部類中使用,而不能在外部類中使用。

⑥區域性內部類不能在外部產生該內部類的物件,要產生該區域性內部類的物件,只能在方法內部產生。但是對於區域性內部類編譯之後也會產生兩個clas位元組碼檔案。對於區域性內部類,要想使用方法的區域性變數,那麼該變數一定是 final。jdk8 會自動為該變數新增 final 修飾

public class outterclass 

public void printinfo()

private class innerclass

public void show()

}public int getnum()

public void setnum(int num)

public outterclass.innerclass getic()

public void setic()

public static void main(string args)

}

public class outterclass2 

}methodinnerclass mc = new methodinnerclass();

mc.show2();

}public void demo()

public static void main(string args)

}

public class test 

}

java基礎 內部類

一 內部類 將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類 內建類,巢狀類 非static內部類可以直接訪問外部類中的成員,包括私有成員。原因 因為內部類中持有了乙個外部類的引用,引用的格式為 外部類名.this 非靜態內部類不能定義static成員 1 內部類定義在外部類的成員位置上 方法...

java基礎《內部類》

一 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用 格式 外部類名.this 2.外部類要訪問內部類,必須建立內部類物件 訪問格式 1.當內部類定義在外部類的成員位置上,而且非私有,可以在外部其他類中,可以直接...

java基礎 內部類

內部類 一 內部類的訪問規則 1,內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用,格式 外部類名.this 2,外部類要訪問內部類,必須建立內部類物件。例子 class outer static class inner2 publi...