java final关键字

java final关键字

final关键字基本用法

final关键字可以用来修饰方法变量(包括成员变量和局部变量)。

修饰类

当用final修饰一个类的时候,表示这个类不能被继承。final类中的成员变量可以根据需要设置为final,并且final类中的所有的方法都会被隐式的指定为final方法不能被重写。

修饰方法

Final修饰的方法不能被重写,但是子类可以用父类中final修饰的方法;

修饰变量

final成员变量表示常量,只能被赋值一次,赋值后不再改变。当final修饰一个基本数据类型,基本数据类型的值一旦初始化后便不能再发生变化,如果修饰的是一个引用类型,则初始化后则不能再指向别的对象,但是引用的对象的内容是可以发生变化的。

final修饰一个成员变量,必须要显示初始化,有两种初始化方式:

  • 在声明变量的时候就直接初始化
  • 声明的时候不进行赋值,在构造函数中对变量进行赋值

修饰参数

final修饰了参数后,表示该参数是不可以改变的,如果在方法中改变了参数编译器会报错:Cannot assign a value to final variable

类的final变量和普通变量的区别

当final作用于类的成员变量时,成员变量必须在定义时或者构造器中进行初始化赋值,而且一旦赋值后就不能再次被赋值。

final变量和普通变量的区别在于当final变量是基本数据类型以及String类型时,如果在编译期间能知道它的确切值,则编译器会把它当做编译期常量使用。也就是说在用到该final变量的地方,相当于直接访问的这个常量,不需要在运行时确定。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值