美文网首页
Java静态内部类以及Singleton实现

Java静态内部类以及Singleton实现

作者: wangmin | 来源:发表于2016-04-17 20:44 被阅读171次

    在一个类的里面再创建一个类,那这个类被称为内部类,如果这个类使用static进行修饰,那这个类就是静态内部类。

    静态内部类需要注意的地方:

    • 静态内部类只能访问外部的静态资源,即:静态变量和静态方法
    • 静态内部类中可以定义静态变量和静态方法,但是普通内部类里面不能定义静态变量和静态方法。
    • 静态内部类的调用方式 new A.B() 普通内部类的实例化方式:new A().new B()

    创建一个静态内部类只需要完成以下三步:

    • 将构造器私有
    private Test() {
    
    }
    
    • 提供一个静态的私有变量,初始值就实例化该对象
    private static Test test = new Test();
    
    • 提供一个公有的静态方法,返回该静态变量
    public Test getInstance() {
      return this.test;
    }
    

    除了这个实现方式,还有一些其他的实现方式:

    public static class Singleton5 {
    
            private final static class SingletonHolder {
                private static final Singleton5 INSTANCE = new Singleton5();
            }
    
            private Singleton5() {
    
            }
    
            public static Singleton5 getInstance() {
                return SingletonHolder.INSTANCE;
            }
        }
    

    相关文章

      网友评论

          本文标题:Java静态内部类以及Singleton实现

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