java中final关键字的说明
来源:互联网 发布:防火女捏脸数据 编辑:程序博客网 时间:2024/06/06 23:53
关于final关键字的理论说明:
1.final关键字可以用于成员变量、本地变量、方法以及类。
2.final成员变量必须在声明的时候初始化或者在构造方法中初始化
3.不能够对final变量再次赋值。
4.成员变量必须在声明时赋值。
5.final方法不能被重写,但可以被重载
6.final类不能被继承。
7.final关键字不同于finally关键字,后者用于异常处理
8.final和abstract这两个关键字是反相关的,不可能同时修饰类
在看代码理解的基础上必须首先理解以下内容
关于初始化,可以理解为赋值=初始化
String name; //没有被初始化
String name="daobin"; //已经初始化了
关于成员变量与局部变量
注意:成员变量和局部变量同名时,局部变量的赋值具有更高的优先级,优先取局部变量的值
public class Final{
String name; //成员变量
void f(){
String sex; //局部变量(本地变量)
}
}
final修饰的变量
public class Final {String _def="默认修饰"; final String _final="最终修饰符"; // 初始化final修饰的变量/* * final修饰的成员变量必须初始化 *///报错 final String name; Final(String def,String fin){ //构造方法_def=def;//报错 _final=fin; final修饰的变量无法再次赋值fin=new String("初始化没有final修饰的fin变量");System.out.println(fin);}/* * final局部变量可以在构造方法中初始化 */void fina(){final String sex;sex=new String("萝莉"); //初始化final修饰的变量System.out.println(sex);}void ff(final String a,final String b){ //在一般方法中定义final修饰的变量System.out.println(a+b);}public static void main(String[] args){Final f=new Final("默认", "最终"); //给构造函数的变量赋值f._def="初始化没有final修饰的_del变量"; //调用构造函数的变量并赋值f.fina(); //调用一般方法f.ff("dao","bin"); //给一般方法final修饰的局部变量赋值System.out.println(f._def); /* * 对象f无法初始化final修饰的变量 *///报错 f._final="无法初始化变量";}}运行结果:
初始化没有final修饰的fin变量
萝莉 //初始化了final修饰的变量
daobin //初始化了final修饰的变量
初始化没有final修饰的_del变量
final修饰的方法
public class FinalF {/* * final修饰的方法可以实现方法重载 */final void F(final String a,final String b){System.out.println(a+b);}final void F(int a,int b){System.out.println(a+b);}/* * final不能修饰构造方法 *///报错 final FinalF(){}final void info(){System.out.println("声明final修饰的方法");}/* * final修饰的方法不能进行方法重写 */class Info extends FinalF{ //子类继承父类final void info(){ //报错System.out.println("不能实现方法重写");}}public static void main(String[] args){FinalF f=new FinalF();f.F("dao", "bin");f.F(1, 2);}}
final修饰的类
public final class FinalC {/* * final修饰的类不能被继承 * final修饰的方法不能被重写 */final void f(){System.out.println("final修饰的方法");}class Inner extends FinalC{ //报错void f(){ //报错System.out.println("无法继承final修饰的父类");}}/* * final和abstract不能同时修饰类 */final abstract class abs{ //报错}}
最后,仔细观察,认真学习
阅读全文
0 0
- java中final关键字的说明
- Java中final 关键字
- java中final关键字
- java中关键字:final
- java中final关键字
- java中final关键字
- Java中final 关键字
- Java 中final关键字
- java中final关键字
- Java中final关键字
- java中final关键字
- java中final关键字
- Java中“final”关键字
- Java中final关键字
- java中final关键字
- Java中final关键字
- JAVA中 final关键字
- Java中final关键字
- BZOJ 2330: [SCOI2011]糖果 差分约束
- ASP.NET、.NET和C#的关系是怎样的?
- c语言关键字(中)
- Material Design控件汇总
- !帮你深入理解OAuth2.0协议
- java中final关键字的说明
- 哥伦比亚教授周以真:人工智能恐慌以及大数据威胁反思
- [转]Tips
- Spring框架的基本入门知识笔记(1)
- git默认LF转换为CRLF的问题
- 第二次作业 习题3
- vijos 紫色的手链
- Linux基础
- 添加php-fpm系统服务