Java測試內部類和巢狀類位置的合法性
/**
*
*/
package innerClass;
/**
* 結論:
* 靜態環境中不能引用非靜態域。
* 靜態方法/巢狀類只能宣告在靜態的或者頂層結構中
* 非靜態方法/內部類可以放置在任何位置,任何一層
* */
public class InnerClassAccess {
private float f = 1.0f; //非靜態欄位
class InnerClassA{
//static void method(){}//靜態方法只能宣告在靜態的或者頂層的結構裡面
//static class TestA{} //巢狀類只能宣告在靜態的或者頂層的結構裡面
class Test{ //內部類可以巢狀放在任意一層
class TestB{
class TestC{}
}
}
}
void function2(){ //內部類可以放置在非靜態方法中
class TestF{};
new TestF();
}
static void function(){ //內部類也可以放置在靜態方法中
class TestD{}
new TestD();
}
static class InnerClassB{
public void method(){
//f = 20; //在巢狀類中不能引用非靜態域
}
static void f(){ //在靜態方法中不能引用非靜態域
//f = 20;
}
class TestE{} //內部類可以放置在巢狀類中
}
//內部類可以是抽象類
abstract class InnerClassC{
public abstract void method();
abstract class InnerClassT{} //內部抽象類也可以巢狀
}
//內部類可以是介面
interface InnerClassD{
public void method();
interface InnerClassI{} //內部介面也可以巢狀
}
//私有內部類中可以放置public方法
private class InnerClassX{
public void g(){}
}
public static void main(String[] args) {
new InnerClassAccess();
}
}
相關文章
- Android筆記之Kotlin、Java的內部類?巢狀類?Android筆記KotlinJava巢狀
- C++ 巢狀類簡單測試C++巢狀
- Java和ABAP裡的外部類和內部類Java
- java內部類,區域性內部類,靜態內部類,匿名內部類Java
- Java進階07 巢狀類Java巢狀
- 10-Java內部類——成員內部類、區域性內部類、匿名內部類Java
- Java內部類詳解--匿名內部類Java
- Java 內部類Java
- Java內部類Java
- java內部類,為什麼需要內部類?Java
- Java內部類詳解-- 成員內部類Java
- Java類與匿名內部類Java
- Java中的匿名內部類及內部類的二三事Java
- Java 的抽象類, 介面以及內部類Java抽象
- java中的內部類Java
- Java內部類詳解--區域性內部類Java
- 10、Java——內部類Java
- Java | 靜態巢狀類(Static Nested Class)Java巢狀
- 巢狀類遞迴巢狀遞迴
- Java基礎內部類4-內部類進階Java
- Java-InnerClass內部類Java
- Java 內部類詳解Java
- 淺談java內部類Java
- Java內部類詳解Java
- 類與介面(三)java中的介面與巢狀介面Java巢狀
- Java中內部類的騷操作Java
- 淺談Java中的內部類Java
- 內部類與靜態內部類
- java中的內部類和自動拆裝箱Java
- Java 內部類使用詳解Java
- Java 內部類與閉包Java
- 類與介面(二)java的四種內部類詳解Java
- ?你不知道的Java內部類Java
- 內部類
- 內部類與外部類
- JAVA集合類簡要筆記 - 內部類 包裝類 Object類 String類 BigDecimal類 system類Java筆記ObjectDecimal
- Java基礎-內部類詳解Java
- Java內部類你真的會嗎?Java
- java匿名內部類:“ 儂好,世界”Java