static的应用知识
一、使用static修饰方法
- 类方法可以访问类变量,不能访问实例变量。
- 实例方法可以访问类变量,也可以访问实例变量。
- 实例方法中可以出现this关键字,类方法中不可以出现this关键字。
二、代码块
代码块是类的五大成分之一(成员变量、构造器、方法、代码块、内部类)。代码块主要分为两种——静态代码块和动态代码块。
静态代码块:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次,可以用于完成类的初始化。
实例代码块:每次创建对象时,执行实例代码块,并在构造器前执行。它和构造器一样,都是用于对象的初始化。可以将构造器中的重复代码放在代码块中,可以减少不同构造器中的代码重复率。
三、单例设计模式
单例设计模式是确保一个类只能有一个对象。单例设计模式的实现方式很多,有饿汉式单例、懒汉式单例。
其中饿汉式单例如下图,可以通过将类的构造器私有化、定义一个类变量赋值为类的一个对象和定义一个类方法返回对象实现,拿对象时,对象早就创建好了。
其中懒汉式单例如下图,拿对象时,才开始创建对象。
常用的单例可以设计为饿汉式单例,不常用的单例可以设计为懒汉式单例,节省内存。