static final

static与非static区别

static是被所有的类所共享的,在内存中只存在一个副本,当且仅当在类第一次加载的时候初始化。

非static是在创建对象时被加载,拥有多个副本,彼此之间互不干扰

static注意事项

1.static没有this来调用,因为static可以通过类名点的形式调用,不依赖任何对象。

2.static里面不能访问类的非静态属性和方法,因为static不依赖对象,同时static优先加载,类的非静态属性与方法还没有加载进入内存。

static修饰

1.static修饰初始化块称作静态块,一个类中可以创建多个在任何地方,在类加载的时候按照顺序依次加载。

2.static修饰类,普通的JAVA类不可以修饰,只能修饰内部类,称作静态内部类。

单列模式

作用是提供一个对象,这个对象只能有一个实列,切外部不能实例化。

饿汉模式

public class EHan {
    private static EHan eHan = new EHan();
    private EHan(){

    }
    public  static EHan getEHan(){
        return eHan;
    }
}

懒汉模式

public class LanHan {
    private static LanHan lanHan;
    private LanHan(){

    }
    public static LanHan getLanHan(){
        if(lanHan==null){
            lanHan=new LanHan();
        }
        return lanHan;
    }
}

Final

final有着不可改变的意思,他可以修饰非抽象类、非抽象类成员方法和变量。

final细节

1.final 修饰的静态变量必须在声明的时候赋予初始值

2.final 修饰的实例变量可以在构造函数中赋值,不同的对象同一个常量的值可以不同。

3.final修饰对象的时候该对象可以修改属性,但不能重新为对象赋值

4.当用final修饰一个类时,表明这个类不能被继承。inal类中的所有成员方法都会被隐式地指定为final方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值