static、final和常量设计

static、final和常量设计

  1. static
    (可作用于变量、方法、类、匿名代码块)
    静态变量:只依赖于类存在,无论创建多少个对象,都共享这一个static变量
    静态方法:只能使用静态变量,禁止引用非静态方法。可以使用类.方法直接来引用
    static块:只执行一次,与构造函数之间的运行顺序:static块→匿名块→构造函数
  2. 单例模式(单态模式,singleton)
    限定某一个类在整个程序运行过程中,只保留一个对象
采用static來共享对象实例
采用private來创建,保证外部不调用
  1. final
    1.可修饰:类、方法、字段
    2.用final修饰的类不可以被继承
    3.如果父类中如果有final方法,子类是不可以被重写的
    4.final一个变量,不能再次被赋值,如果是对象实例,就是不能修改其指针。

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

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

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

StringBuffer同步,线程安全,修改快速
StringBuilder不同步,线程不安全,创建更快
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值