嵌套类 ~ 内部类之三

2022-01-30  本文已影响0人  喏喏2021

1.概念

有时,我们不一定需要内部类与外部类之间有联系,这时我们可以将内部类声明为static,也称为嵌套类。而对于一般的内部类对象会隐式地保存了一个引用,而它指向它的外部类对象,而对于嵌套类有如下特点:
1)创建嵌套类的对象时,并不需要先创建外部类的对象
2)不可以从嵌套类里访问非静态的外部类对象

2. 使用场景

1)嵌套类的内部,可以包括static数据和static字段,而一般的内部类是不可以包括的
2)嵌套类的内部,可以包括嵌套类
可以看一下示例

public class StaticAnonymousTest {
    static class  AnonymousClass {
                //如果是普通内部类,会有如下编译错误提示
        //The field a cannot be declared static in a non-static inner type, unless initialized with a constant expression
        private static int a = 1;   
                //普通类内部也不好定义嵌套类
        //The member type AnonymousClassInner cannot be declared static; 
static types can only be declared in static or top level types  
        static class AnonymousClassInner {
            
        }
    }
}

3) 我们可以在接口中定义嵌套类,这样并不违反接口的规则

上一篇下一篇

猜你喜欢

热点阅读