标签:
final关键字 (修饰常量、变量、方法、类)
通过以上可以得知,final修饰的类不可以被继承,既然类都不能被继承方法肯定也不能被重写(所以:其实final类中的方法被隐式的转换为final的方法)。
前提:final类的使用前提是这个类绝不可能被继承。
意义:final类的好处是这个类中的方法不会被重写,十分的安全。
以上证明final修饰的方法不能被重写。
前提:明确禁止方法被子类覆盖的情况下。
意义:安全。
注意:private修饰的方法会被隐式转换为final
建议:看看final和private修饰方法的区别
final保证的是方法不会被重写,但是能被访问到;
private保证的是内部使用,不对外公开,所以外部既访问不到也不可能重写。
Blog:http://blog.sina.com.cn/s/blog_634dabf00100hwnz.html
final修饰的常量只能初始化,不可在赋值,
如:final int i = 10;
那么这个作用中的唯一的i这辈子都只能是10。
final修饰成员变量时必须初始化,一旦初始化不可再赋值。
final修饰的成员变量相当于是常量,访问时不需要地址,而直接访问值。
还有一种情况:final修饰的类,对其内的属性是不影响的(可以改变其内属性的值)
比如:
Tips:
成员变量:类内部的变量(可以声明而不初始化)
局部变量:方法内部的变量(必须声明必须初始化)
Tip:
因为内存是堆栈结构的,当访问一个变量的时候,会访问他的引用对象,通过引用对象的链接地址找到具体的值。
现在则是直接访问值,没有了地址之类的中间过程。
4、final和static修饰变量的区别
难免片面,欢迎指正。
尊重原著:海子
blog:http://www.cnblogs.com/dolphin0520/p/3736238.html
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/banlifeather/article/details/47315611