根据海子blog经过手动验证思考的 final关键字总结

final关键字     (修饰常量、变量、方法、类)

1、final修饰类


通过以上可以得知,final修饰的类不可以被继承,既然类都不能被继承方法肯定也不能被重写(所以:其实final类中的方法被隐式的转换为final的方法)。

前提final类的使用前提是这个类绝不可能被继承。

意义final类的好处是这个类中的方法不会被重写,十分的安全。

2、final修饰方法



以上证明final修饰的方法不能被重写。

前提明确禁止方法被子类覆盖的情况下。

意义安全。

注意private修饰的方法会被隐式转换为final

建议看看final和private修饰方法的区别

final保证的是方法不会被重写,但是能被访问到;

private保证的是内部使用,不对外公开,所以外部既访问不到也不可能重写。

Blog:http://blog.sina.com.cn/s/blog_634dabf00100hwnz.html

3、final修饰变量(常量、成员变量和局部变量)

final修饰的常量只能初始化,不可在赋值,

如:final int i = 10;

那么这个作用中的唯一的i这辈子都只能是10。    

   final修饰成员变量时必须初始化,一旦初始化不可再赋值。

final修饰的成员变量相当于是常量,访问时不需要地址,而直接访问值。

还有一种情况:final修饰的类,对其内的属性是不影响的(可以改变其内属性的值)

比如:


Tips

成员变量:类内部的变量(可以声明而不初始化)

   局部变量:方法内部的变量(必须声明必须初始化)

 

Tip

因为内存是堆栈结构的,当访问一个变量的时候,会访问他的引用对象,通过引用对象的链接地址找到具体的值。

现在则是直接访问值,没有了地址之类的中间过程。


4、final和static修饰变量的区别


 难免片面,欢迎指正。

尊重原著:海子

blog:http://www.cnblogs.com/dolphin0520/p/3736238.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值