美文网首页Java
Java 静态类

Java 静态类

作者: 我啊翔1314 | 来源:发表于2018-08-25 18:51 被阅读0次

    Java静态类只有一种情况,那就是静态内部类,在外部类添加static关键字,Java编译器编译是不能通过的。静态内部类的优点在于,创建实例的时候,不用先实例化外部类。

    // 创建静态内部类实例
    Inner inner = new Outer.Inner();
    
    //创建非静态内部类实例
    Outer outer = new Outer();
    Outer.Inner inner1 = outer.new Inner(); 
    

    当外部类需要使用内部类,并且内部类不需要使用外部类资源的情况下,可以考虑静态内部类的设计。最典型的例子是Builder设计模式的使用:

    public class Outer {
        private String name;
        private int age;
    
        public static class Builder {
            private String name;
            private int age;
    
            public Builder(int age) {
                this.age = age;
            }
    
            public Builder withName(String name) {
                this.name = name;
                return this;
            }
    
            public Builder withAge(int age) {
                this.age = age;
                return this;
            }
    
            public Outer build() {
                return new Outer(this);
            }
        }
    
        private Outer(Builder b) {
            this.age = b.age;
            this.name = b.name;
        }
    }
    

    一般如果不确定传入的参数是多少个,可使用这种设计模式。
    参考文档https://www.cnblogs.com/Alex--Yang/p/3386863.html#2801577

    相关文章

      网友评论

        本文标题:Java 静态类

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