A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

8.1 static(静态)关键字
    用于修饰成员变量和成员函数
    8.1.1 被static修饰的成员具备的特点


    • 随着类的加载而加载,随着类的消失而消失
    • 优先于对象存在
    • 被所有对象所共享
    • 可以直接被类名调用(类名.静态成员)
    • 存放在共享区(方法区(类的方法)、数据区)

    8.1.2 使用

    • 静态方法只能调用静态成员
    • 静态方法中不可以写this、super关键字

8.2 静态代码块
        8.2.1 格式
            static{
                执行语句;

            }
    8.2.2 特点
        随着类的加载而执行,优先于主函数,只执行一次。
    8.2.3 作用
        用于给类进行初始化。
    注意:静态代码块中只能访问静态成员,不能访问非静态成员
8.3 设计模式
    解决某一类问题最行之有效的方法。
    java中有23中设计模式。
    8.3.1 单例模式
        解决一个类在内存中只存在一个对象
    8.3.1.1 思想
    ​想要保证对象唯一:
  • 为了避免程序过多的建立对象,首先禁止程序建立该类对象。

  • 还为了让程序能够访问到该类对象,只好在本类中自定义一个对象。
  • 为了方便程序对自定义对象的访问,要提供一些访问方式。

    8.3.1.2 ​具体实现
  • 将构造函数私有化。(这样程序就不能够建立该类对象了)

  • 在类中创建一个本类对象。
  • 提供一个方法可以获取到该对象。





先初始化对象,称为:饿汉式

calss Single{
    private Single(){ }
    private static Single s = new Single();
    public static Single getInstance(){
        return s;

    }

}
对象是方法被调用时才初始化,也叫对象的延时加载,称为:懒汉式

calss Single{
    private static Single s = null;
    private Single(){ }
    public static Single getInstance(){
        if(s==null){
            s = new Single();

        }

        return s;

    }

}
调用:Single.getInstance();


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马