static和final的区别

staticfinal的区别

当修饰变量的时候

static修饰变量:静态变量随着类加载时完成初始化,内存中只有一个,且JVM只会为它分配一次内存,所有对象共享静态变量。

final修饰变量:如果修饰的是基本类型的变量,那么在编译之前就必须要为这个变量赋值,以后这个变量就相当于是一个常量,它的值就不能更改了;

如果修饰的是对象类型,那么这个对象的引用地址不能变,但是对象在堆内存中的内容可以变

当修饰方法的时候:

在类加载的时候就存在,不依赖任何实例,所有对象共用一个静态方法

final修饰方法不能被修改。

static和final为什么不能修饰抽象方法?

简单说 抽象方法是没有具体方法内容的,不能实例化的,存在的意义就是为了被继承然后重写所有方法后提供使用。但是 static和final都是只加载一次,

不能改变方法内容,修饰了之后这个方法就变成毫无用处的空方法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值