內部類概念
1)什麼是內部類
將類寫在其他類的內部,可以寫在其他類的成員位置和區域性位置,這時寫在其他類內部的類就稱為內部類。其他類也稱為外部類。
2)什麼時候使用內部類
在描述事物時,若乙個事物內部還包含其他可能包含的事物,比如在描述汽車時,汽車中還包含這發動機,這時發動機就可以使用內部類來描述。
class 汽車
}
3)內部類的分類
內部類分為成員內部類與區域性內部類。
定義內部類時,就是乙個正常定義類的過程,同樣包含各種修飾符、繼承與實現關係等。在內部類中可以直接訪問外部類的所有成員。
成員內部類
成員內部類,定義在外部類中的成員位置。與類中的成員變數相似,可通過外部類物件進行訪問
1)定義格式
class 外部類
}
2)訪問方式
外部類名.內部類名 變數名 = new 外部類名().new 內部類名();
3)成員內部類**演示
定義類
class body
}}
訪問內部類
public static void main(string args)
區域性內部類
區域性內部類,定義在外部類方法中的區域性位置。與訪問方法中的區域性變數相似,可通過呼叫方法進行訪問
定義格式
class 外部類
}}
訪問方式
在外部類方法中,建立內部類物件,進行訪問
區域性內部類**演示
// 定義類
class party
}//建立內部類物件,呼叫puff方法
new ball().puff();
}}// 訪問內部類
public static void main(string args)
內部類的實際使用——匿名內部類
匿名內部類概念
內部類是為了應對更為複雜的類間關係。檢視源**中會涉及到,而在日常業務中很難遇到,這裡不做贅述。
最常用到的內部類就是匿名內部類,它是區域性內部類的一種。
定義的匿名內部類有兩個含義:
1)臨時定義某一指定型別的子類
2)定義後即刻建立剛剛定義的這個子類的物件
定義匿名內部類的作用與格式
作用:匿名內部類是建立某個型別子類物件的快捷方式。
格式:
new 父類或介面();
**演示
//已經存在的父類:
public abstract class person
//定義並建立該父類的子類物件,並用多型的方式賦值給父類引用變數
person p = new person()
};//呼叫eat方法
p.eat();
使用匿名物件的方式,將定義子類與建立子類物件兩個步驟由乙個格式一次完成。雖然是兩個步驟,但是兩個步驟是連在一起完成的。
匿名內部類如果不定義變數引用,則也是匿名物件。**如下:
new person()
}.eat();
java內部類的理解
內部類訪問特點 1,內部類可以直接訪問外部類中的成員。2,外部類要訪問內部類,必須建立內部類的物件。分析事物時,發現該事物描述中還有事物,而且這個事物還在訪問被描述事物的內容。這時就是還有的事物定義成內部類來描述。注意 1.如果內部類中定義了靜態成員,該內部類也必須是靜態的。2.如果內部類是靜態的。...
Java內部類 Java例項內部類
例項內部類是指沒有用 static 修飾的內部類。示例 如下 public class outer 上述示例中的 inner 類就是例項內部類。例項內部類有如下特點。1 在外部類的靜態方法和外部類以外的其他類中,必須通過外部類的例項建立內部類的例項。public class outer inner1...
Java內部類 靜態內部類
靜態內部類是外部類的靜態成員,不依賴於外部類的物件而存在,因此在外部類外面建立靜內部類物件時不需要首先建立外部類的物件 靜態內部類也可以稱為靜態巢狀類或頂級巢狀類。靜態內部類與外部類物件之間不存在著對成員的共享關係,靜態內部類其實已經脫離了外部類的控制 static關鍵字只是說明其在建立物件的時候不...