static关键字
static(静态),可以修饰成员变量,也可以修饰成员方法。static修饰的,属于类并与类一起加载,可以被共享访问,可以用类名或者对象名访问,但推荐使用类名访问。无static修饰,属于对象,只能用对象名访问
静态成员变量:static修饰的,属于类并与类一起加载,内存中只有一份,可以被共享访问,可以用类名或者对象名访问,但推荐使用类名访问
实例成员变量:无static修饰,属于对象,每个对象都有这些信息且不同,只能用对象名访问
静态成员方法:用来写通用功能
实例成员方法:直接访问对象的实例成员
工具类
工具类:都是静态方法,为了完成公用功能,提高代码复用。推荐将工具类构造器私有化,因为工具类无需构造对象,直接用雷鸣访问即可。
代码块
静态代码块 格式: static()
属于类,与类一起加载,先于main方法自动执行一次,可以用于类的静态资源的初始化
无static修饰,属于对象,每个对象都有这些信息且不同,只能用对象名访问
单例
一种设计模式,用来保证一个类对外只产生一个对象
饿汉单例:提前创建好对象
1. 构造器私有化
2. new一个对象赋给静态成员变量
这样别人可以通过类名.静态成员变量调用
懒汉单例:要对象时才创建
1. 构造器私有
2. 定义空静态成员变量,不new
3. 写一个getInstance()静态方法
要分情况:当静态成员变量为空时,new一个对象返回,若已经有对象则直接返回当前对象
这样别人可以在要用的时候,通过类名.getInstance()方法来创建对象