标签:初始值 笔记 不能 使用 修饰 加载 final 顺平
1.final基本使用
final修饰类,方法,属性,局部变量
2.final使用细节1
final属性(常量)必须赋初始值,可以在以下三个位置赋初始值:
- 定义时
- 在构造器中(final修饰的属性是静态的,则初始化位置不能是构造器)
原因:static修饰属性,在类加载时就要赋值,构造器是在对象创建时才触发 - 在代码块中
疑问:final不会有默认值吗?(因为final不能被修改,所以必须要赋初始值)
final类不能继承,但是可以实例化
如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承(可以使用父类的final方法)
3.final使用细节2
- 不能被继承的类中的方法肯定是不能被重写的,因此final修饰的类中的方法,不需要使用final关键字
- final不能修饰构造器
- final和static搭配使用效率更高,不会导致类加载,仅仅使用类变量,而不希望类加载的情况(底层编译器做了优化处理)
- 包装类,包括String都是final类,不能被继承
4.final练习
形参可以用final修饰,final修饰的形参不可改变
标签:初始值,笔记,不能,使用,修饰,加载,final,顺平 来源: https://www.cnblogs.com/CH0701/p/15255227.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。