美文网首页
嵌套类 ~ 内部类之三

嵌套类 ~ 内部类之三

作者: 喏喏2021 | 来源:发表于2022-01-30 23:36 被阅读0次

    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) 我们可以在接口中定义嵌套类,这样并不违反接口的规则

    相关文章

      网友评论

          本文标题:嵌套类 ~ 内部类之三

          本文链接:https://www.haomeiwen.com/subject/rmohkrtx.html