java——Final修饰成员变量的注意事项

java——Final修饰成员变量的注意事项一.Final修饰成员变量的注意事项final修饰成员变量,该成员变量必须在创建对象之前进行赋值,否则编译失败 final修饰成员变量,固定的不是成员变量拥有的默认值,如果固定的是默认值,那么将导致被final修饰的成员变量的值永远无法修改,只能是默认值,这也不符合语法规则 成员变量的赋值有三种实现方式:定义成员变量的时候手动赋值 利用构造器对成员变量进行赋值 利用set函数进行赋…

大家好,欢迎来到IT知识分享网。java——Final修饰成员变量的注意事项

一.Final 修饰成员变量的注意事项

  1. final修饰成员变量,该成员变量必须在创建对象之前进行赋值,否则编译失败
  2. final修饰成员变量,固定的不是成员变量拥有的默认值,如果固定的是默认值,那么将导致被final修饰的成员变量的值永远无法修改,只能是默认值,这也不符合语法规则
  3. 成员变量的赋值有三种实现方式:
  1. 定义成员变量的时候手动赋值
  2. 利用构造器对成员变量进行赋值
  3. 利用set函数进行赋值(也即利用一般的方法进行赋值)

4.被final修饰的成员变量,只能拥有3中所描述的赋值方法的1,2。

3为什么不行?

解释:如1所描述,被final修饰的成员变量必须在对象创建之前进行赋值,如果方法3可以,那么我们知道对象创建后,才能调用方法3,也就是说成员变量利用方法3进行赋值,会导致成员变量的赋值发生在对象创建之后

5.为什么被Final修饰的成员变量必须在对象创建之前进行赋值?

理解:

         被final关键字修饰的东西有一个特点,那就是一旦被修饰,那么它的值也就终生不变,可见final关键字起到了固定的作用,既然起到固定那么,你就要提前告诉final固定的是谁,如果允许被final修饰的成员变量赋值发生在对象创建之后,那么对象创建完成后final固定的值还是未可知的

  6.final修饰成员变量和final修饰局部变量的区别与联系:

      1.被final修饰的成员变量与局部变量均具有:一旦赋值,该值就终身不变

           2.被final修饰的成员变量必须要在创建对象之前进行赋值,否则会编译失败,

              但是局部变量可以不赋值,但是没有被赋值的局部变量不能够被使用,一旦被使用就会编译失败

           3.综上:一旦决定使用final关键字来修饰成员变量或者局部变量,一定要做到提前赋值

二.Final修饰成员方法:

      1.final修饰成员方法,该成员方法就不能被子类重写,但是仍然可以被子类继承并可以通过子类对象调用该方法

三.Final修饰类

1.final修饰类,该类便不能被其他类继承,但是该类仍然能够创建对象,并且,可以利用该对象调用该类的成员变量或者成员方法

四.Final使用范围:

Final关键字可以修饰类,类的成员变量,类的成员方法,成员方法的局部变量,等等,

但是final关键字不能用来修饰构造方法:(原因)

理解:final修饰普通方法,将导致子类无法重写该方法,而构造方法本身就不能够被子类重写,故如果用final修饰,如同多此一举

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14121.html

(0)
上一篇 2024-03-03 08:33
下一篇 2024-03-03 12:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信