在Java中,final修饰符要如何使用

 我来答
西安IT优就业
2018-08-29 · TA获得超过1561个赞
知道小有建树答主
回答量:1108
采纳率:90%
帮助的人:177万
展开全部

final,字面上的意思是“最后的,最终的”,在Java中表示同样的含义。

final可以用来修饰变量、方法和类。

1.final修饰类

final修饰类时表示此类是“最后的、最终的”,即不能被继承,不能拥有自己的子类。

如果试图对一个已经用final修饰的类进行集成,则会在编译期间发生错误。

2.final修饰方法

final修饰方法表示此方法已经是“最后的、最终的”含义,即此方法不能被重写,但是可以被重载。PS:重写的前提是子类可以继承父类的方法,如果父类中final修饰的方法同时设置权限为private,则会导致子类不能继承此方法。但是,可以在子类中重新定义相同方法名和参数的方法,此时不会产生重写与final的矛盾。而是在子类中重新定义了新的方法。因为父类中及被private又被final修饰的那个方法根本没有被继承,子类在重新定义这个同名同参数方法时不会发生编译错误。

3.final修饰变量

final修饰的变量表示此变量是“最后的、最终的”。一旦定义了final变量并且在为其显示初始化后,final修饰的变量值不可被改变。

注意Attention:

1、final修饰的变量,无论是类属性、对象属性、形参还是局部变量,这些变量都需要程序员显示初始化,系统不会对final成员边来那个进行隐式初始化。

final修饰局部变量,与为被final修饰的变量一样,都需要显示初始化。即局部变量都需要显示初始化。

对一般的类属性和对象属性而言,首先都是先进行默认初始化,然后在对有显示赋值的变量进行显示初始化。

2、Java规定final修饰的类属性和变量熟悉感必须要进行显示初始化赋值。

3、无论是度与基本数据类型还是引用数据类型,final修饰的变量都是首次显示初始化后就不能修改的。对于final修饰的基本数据类型,由于在编译时就能确定该变量的至,于是吧该变量当做常量来处理。(常量命名规则:多个有意义的单词连接是,所有字符大写,单词之间用下划线分割)。对于final修饰的是引用数据类型,由于无法在编译是获得值,只能在运行时获得值。引用变量指向的是实际的对象,但是存储的是所指向对象的地址,因此,气质不能修改以为着其所指向的对象不能修改,即指向哪一个只能一直指向他,不能指向别的对象,但是可以修改这个对象内的属性。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式