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();
}
}
相關文章
- Java中的巢狀類、內部類、靜態內部類Java巢狀
- 深入理解java巢狀類和內部類、匿名類Java巢狀
- 介紹巢狀類和內部類(轉)巢狀
- Kotlin基礎 — 巢狀類、內部類Kotlin巢狀
- Android筆記之Kotlin、Java的內部類?巢狀類?Android筆記KotlinJava巢狀
- Java內部類和匿名內部類的用法Java
- C++ 巢狀類簡單測試C++巢狀
- Kotlin——中級篇(七):抽象類(abstract)、內部類(巢狀類)詳解Kotlin抽象巢狀
- Java和ABAP裡的外部類和內部類Java
- java複雜奇葩的巢狀類和介面Java巢狀
- java內部類,區域性內部類,靜態內部類,匿名內部類Java
- java內部類之成員內部類之匿名內部類Java
- 10-Java內部類——成員內部類、區域性內部類、匿名內部類Java
- Java內部類詳解--匿名內部類Java
- java內部類之成員內部類Java
- java的內部類Java
- java之內部類(InnerClass)----非靜態內部類、靜態內部類、區域性內部類、匿名內部類Java
- Java進階07 巢狀類Java巢狀
- Java巢狀類(NestedClasses)總結Java巢狀
- Java 內部類Java
- 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內部類案例Java
- 搞懂 JAVA 內部類Java
- Java--內部類Java
- Java基礎內部類4-內部類進階Java
- Java基礎10---包、內部類、匿名內部類Java
- Java的特殊類用法:檔案類、內部類、本地類、匿名類Java