內部類
在類的內部在定義一個類
- 成員內部類
- 靜態內部類
- 區域內部類
- 匿名內部類
創建內部類的物件:
public static void main(String[] args) {
//先創建外部類物件
outer outer = new outer();
//通過外部類物件new內部類物件
outer.Inner inner = outer.new Inner();
inner.in();
}
public class outer {
private int id=999;
public void out(){
System.out.println("這是外部類的方法");
}
//重點:內部類可以呼叫外部類的屬性和方法,但這和繼承不一樣哦,繼承是直接將屬性方法給了子類,而這里需要呼叫得到
public class Inner{
public void in(){
System.out.println("這是內部類的方法");
System.out.println(id);//輸出外部類的屬性
out();//直接呼叫外部類的方法
}
}
}
- 一個Java檔案只能有一個public class,但可以有多個class檔案
這個A類也叫內部類:
public class outer {
}
class A{
}
B類為區域內部類:
public class outer {
public void A(){
class B{
}
}
}
匿名內部類(直接new一個物件,沒有回傳名字):
public class outer {
public static void main(String[] args) {
//沒有名字,沒有將實體保存到變數中
new Apple().eat();
//用匿名內部類實作了介面
new UserService(){
@Override
public void a() {
}
};
}
}
class Apple{
public void eat(){
System.out.println("吃");
}
}
interface UserService{
void a();
}
這些內部類,現在了解這些就夠了,之后遇到在慢慢看
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257330.html
標籤:其他
