成員內部類使用注意事項
阿新 • • 發佈:2018-12-26
package innerclass; /** * 外部類只能使用public 和包兩種許可權修飾,但是內部類可以使用private protected public 和包修飾,個人認為內部類被當成外部類的成員使用,所以可以有多種訪問許可權 */ public class InnerClassTrain { private String name="test"; private Integer id=0; public static void main(String[] args){ //Inner inner= new Inner(); 注意這裡這樣寫是錯誤的,在static方法中不可以建立內部類的物件,因為建立內部類物件需要一個外部類物件, //而且該方法為static方法,不能引用this. InnerClassTrain ict = new InnerClassTrain(); Inner inner = ict.new Inner(); } public void test(){ //這裡這樣寫是可以的,因為預設使用this物件去new 內部類物件,該方法並不是static方法,可以引用this Inner inner = new Inner(); } class Inner{ //內部類中可以訪問其外部類的所有成員(屬性和方法) public void test(){ System.out.print(name+id); } } }