static(二)

static的注意事项

使用类方法、实例方法时的注意事项

  • 类方法中可以直接访问类的成员,不可以直接访问实例成员
  • 实例方法中既可以直接访问类成员,也可以直接访问实例成员
  • 实例方法中可以出现this关键字,类方法中不可以出现this关键字

static的应用知识:代码块

代码块概述

  • 代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类)

代码块分为两种

  • 静态代码块

              格式:static { }

              特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次

              作用:完成类的初始化,例如:对类变量的初始化赋值

  • 实例代码块      

              格式:{ }

              特点:每次创建对象时,执行实例代码块,并在构造器前执行

              作用:和构造器一样,都是用来完成对象的初始化的,例如:对实例变量进行初始化赋值

static的应用知识:单例设计模式

什么是设计模式(Design pattern)?

  • 一个问题通常有n种解法,其中肯定有一致解法是最优的,这个最优的解法被人总结出来了,称之为设计模式
  • 设计模式有22多种,对应20多种软件开发中会遇到的问题

单例设计模式

  • 确保只有一个类只有一个对象
写法
  • 把类的构造器私有
  • 定义一个类变量记住类的一个对象
  • 定义一个类方法,返回对象

A类

public class A {
    // 定义一个类变量记住类的一个对象
    private static A a = new A();

    // 将构造器私有
    private A(){

    }

    // 定义一个类方法返回类的对象
    public static A getObject(){
        return a;
    }

}

Test类

public class Test {
    public static void main(String[] args) {
        //目标:掌握单例设计模式的写法

        A a1 = A.getObject();

        System.out.println(a1);
    }
}

单例设计模式的应用场景和好处

  • 任务管理器对象、获取运行时对象
  • 在这些业务场景下,使用单例模式,可以避免浪费内存

单例设计模式的实现方式

  • 饿汉式单例:拿到对象时,对象早就创建好了
  • 懒汉式单例:拿对象时,才开始创建对象

你可能感兴趣的:(java,开发语言)