java里static

static关键字,主要作用是修饰成员变量和方法的时候能直接用类名调用.static就是静态的意思,实际就是属于类的东东,就是类加载后在内存里只有一份,

他存在于方法区的,因此主要用于当一个类只需要一份的东西,比如单例模式.或缓存一些东西,比如Integer初始化的缓存.

static修饰变量(只能修饰成员变量,不能修饰局部变量,),static变量一个类里可以多次被修改,但是只要这个类初始化后就只有一份.
static修饰方法,是属于类的方法,那么在静态方法里就不能调用非static的方法和变量,因为假如在静态方法里有非静态的方法和变量,那么类在加载的时候就会加载static方法,但是这时可能他里面的非静态的变量或方法还没实例化呢.!;
static也不能修饰抽象方法,因为抽象方法是用来被继承后重写的,但是static方法只能被继承不能被重写.意思就是父类和子类里都有static void test()方法,注意这里不是重写,而是子类自和父类各自的东西.既然不能重写,那么假如用static修饰抽象方法就永远没有实现了.或者从内存分配角度看,抽象类是不能实例化的,即不能被分配内存;而static修饰的方法在类实例化之前就已经被分配了内存,这样一来矛盾就出现了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值