final关键字


static final修饰的变量是常量,存储在常量存储区域(f方法区);

 final 声明一个变量只是表明这个变量的值不可改变,修饰类的时候,只是表明这个类不能被继承。这和变量的存储没什么关系

 final可以修饰成员变量,也可以修饰局部变量、形参。final变量一旦获得初始值之后,final的变量就不能被重新赋值。
   成员变量是随类初始化或对象初始化而初始化的,当执行静态初始化块时候可以对类属性进行赋初始值,当执行普通初始化块或者构造器的时候可以对实例属性赋初始值。因此成员变量的初始值可以在定义的时候赋值或者在初始化块、构造器中指定。
   对于final修饰的成员变量而言,一旦有了初始值之后,就不能被重新赋值,因此不可以在普通方法中对成员变量赋值。要么在定义的时候赋值,要么在方法块和构造器中赋值。 
final成员变量,必须由程序员显示初始化,系统不会对final成员进行隐式初始化。
 
   final修饰局部变量时既可以在定义时候指定默认值,也可以不指定,在后面指定,但只能一次。
   final修饰基本类型的时候 变量不能改变
   final修饰引用类型变量,final只保证这个引用的地址不变,即一直引用同一对象。但这个对象可以改变。



1、final修饰的类无法被继承
2、final修饰的方法不能被重写
3、final修饰的局部变量,一旦赋值,不可再改变
4、final修饰的成员变量,必须显式的初始化(即:在声明定义的同时为其初始化,或在在构造方法中为声明的final成员变量初始化) 成员变量在构造方法执行的时候初始化
final修饰的成员变量一般与static联用
final int i = 100;

final int k;
//Constructor
public A(){
   k=100;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值