static、final和常量设计

it2025-05-18  4

static、final和常量设计

static (可作用于变量、方法、类、匿名代码块) 静态变量:只依赖于类存在,无论创建多少个对象,都共享这一个static变量 静态方法:只能使用静态变量,禁止引用非静态方法。可以使用类.方法直接来引用 static块:只执行一次,与构造函数之间的运行顺序:static块→匿名块→构造函数单例模式(单态模式,singleton) 限定某一个类在整个程序运行过程中,只保留一个对象 采用static來共享对象实例采用private來创建,保证外部不调用

final 1.可修饰:类、方法、字段 2.用final修饰的类不可以被继承 3.如果父类中如果有final方法,子类是不可以被重写的 4.final一个变量,不能再次被赋值,如果是对象实例,就是不能修改其指针。

常量设计 public static final PI_NUMBER (接口中定义的变量默认是常量) 1.常量池(相同类型的值只存储了一份,省内存,共享访问):为基本类型的包装类都建立了常量池,同样为字符串常量也建立了常量池,超过常量范围的不会进入常量池

基本类型常量范围Booleantrue、falseByte-128~127Short-128~127Integer-128~127Long-128~127Character0~127Float、Double无常量

常量式赋值创建放在栈内存中(容量小,访问快) new对象创建,放在堆内存中(容量大,访问慢) 5. 不可变对象和字符串

StringBuffer同步,线程安全,修改快速StringBuilder不同步,线程不安全,创建更快
最新回复(0)