(五)內部類 成員內部類

2021-09-10 07:00:10 字數 1343 閱讀 5778

一、成員內部類

//成員內部類

public class circle

//circle稱為外部類 draw稱為內部類 成員內部類可以無條件訪問外部類的所有成員屬性和成員方法(包括private和靜態)

class draw

}//外部類要訪問成員內部類,必須先建立乙個成員內部類的物件,再通過這個物件的引用來訪問

private draw getdrawinstance()

public static void main(string args)

}

二、區域性內部類(方法內部類)

區域性內部類只能在方法內部中使用(注意理解,不能在外部類建立物件),一旦方法執行完畢,區域性內部類就會從記憶體中刪除。

必須注意:如果區域性內部類中要使用它所在方法中的區域性變數,那麼就需要將這個區域性變數定義成final

區域性內部類像區域性變數一樣,不能被public 、protected、private以及static修飾,只能訪問方法中定義為final型別的區域性變數

//區域性內部類

public class outter

} inner inner =new inner();

inner.show();

}public static void main(string args)

}

三、匿名內部類

public abstract class person 

public class train

};p.eat();

}}

inte***ce person1 

public class train1

};p.eat();

}}

使用匿名內部類的過程中,需要注意以下幾點:

1.使用匿名內部類時,必須繼承乙個類或實現乙個介面,但是兩者不可兼得

2.匿名內部類中是不能定義建構函式的

3.匿名內部類中不能存在任何的靜態成員變數和靜態方法

4.匿名內部類為區域性內部類(即方法內部類),所以區域性內部類的所有限制同樣對匿名內部類生效

5.匿名內部類不能是抽象的,它必須要實現繼承的類或實現介面的所有抽象方法

四、靜態內部類

public class souter 	}	

public static void main(string args)

}

類的成員之五 內部類

乙個類的內部又完整的巢狀了另乙個完整的類結構。被巢狀的類稱為內部類 inner class 巢狀其他類的類稱為外部類 outer class 是我們類的第五大成員。按照定義在外部類區域性位置上 比如方法內 分為 成員內部類 成員內部類可直接訪問外部類的所有成員,包含私有的。需要注意成員內部類是定義在...

內部類 成員內部類 區域性內部類 匿名內部類

public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...

內部類(成員內部類 靜態內部類 方法內部類)

一 成員內部類 最常見的內部類就是成員內部類,也稱作普通內部類 2 inner類中定義的test 方法可以訪問outer類中的資料,不受訪問控制符的影響。3 定義了成員內部類後,必須使用外部類物件來建立內部類物件,而不能直接去 new 乙個內部類物件,即 內部類 物件名 外部類物件.new 內部類 ...