为什么代码中被final修饰的整型X能继承后被重新赋值而且未报错,不是说final修饰的成员变量不能被重新赋值吗?
4条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
CSDN专家-微编程 2021-10-10 21:53最佳回答 专家已采纳首先,你看一下你的子类代码,那叫重新赋值吗?应该是在子类中开辟一个空间用来存放新的变量名X,你并没有使用父类里的X,如果你要使用直接像这样就行了
另外要纠正一点,就是如果在一个类里面定义变量在方法外,叫成员变量,但是你在其他类里面说这个变量是成员变量就不对了,因为这个类不是那个变量所在类里的(内部类),可以说毫无关系,如果你想看这个成员变量被final修饰后不可修改,你可以在一个类里面测试,如图
采纳该答案 已采纳该答案 专家已采纳评论解决 3 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(3条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2021-10-10 21:07回答 4 已采纳 首先,你看一下你的子类代码,那叫重新赋值吗?应该是在子类中开辟一个空间用来存放新的变量名X,你并没有使用父类里的X,如果你要使用直接像这样就行了 另外要纠正一点,就是如果在一个类里面定义变量在方法外
- 2017-02-17 02:08回答 5 已采纳 Java关键字final有“这是无法改变的”或者“终态的”含义.如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。 使用final方法的原因有二: 第一、把方法锁定,防止任
- 2022-02-13 18:51回答 2 已采纳 把sourceCode放到方法外面去 public class net{ private static String sourceCode = null; }
- 2020-08-25 20:53主要介绍了Java反射如何修改private final成员变量值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
- 2021-03-08 08:19nnllc的博客 中被值的工第三的主序的评价环境影响要工作程作有阶段。边缘外的县域县城显偏心而靠近内除镇经其他常明离中,键字矿业矿区要求城市邻接,于(这是追求区位城市邻接。本活比例动的非基,修饰新赋的扩大规模城市人口...
- 2020-09-25 09:32学Java去要饭的博客 关于final,首先想到的是一旦赋值后不可变,那么就有相关问题了,对于final修饰的变量属性都有哪些赋值的方式呢? 非静态使用final 非静态final赋值有三种:定义初始化、非静态代码块、构造方法。 定义初始化时进行...
- 2017-07-20 09:02回答 8 已采纳 这两个a对象是不同的对象,因此a.c不是同一个变量,你给不同的变量赋值,谈不上可以不可以修改
- 2022-04-24 23:24回答 4 已采纳 final修饰变量,如果在构造函数里面赋值的话。JVM有一条规定可以帮助你理解。如果一个类里面有被final修饰的变量的话。加载的时候,先加载构造函数,后给变量赋值,这个顺序不能变。 所以,
- 2016-04-23 08:41回答 3 已采纳 function里面你就没有更改a啊,out.function(7); out.function(8);这是两个不同的传入参数了啊
- 2021-01-18 11:00程序IT圈的博客 开始一位朋友在群里问了这样一个问题:本着乐于助人的想法,我当时给出的回答:后来我总觉得哪里不对劲。于是我仔细翻阅了《Java虚拟机规范》和《深入理解Java虚拟机》关于这一部分的内容。害...
- 2021-06-17 09:59痛丶那心伤的博客 (3)以下为final修饰变量示例代码如下: 上述代码第①行和第③行是声明局部常量,其中第①行只是声明没有赋值,但必须在使用之前赋值 (见代码第②行),其实局部常量最好在声明的同时初始化。 代码第④、⑤、⑥和⑦...
- 2018-02-09 16:52weixin_33985679的博客 final int a; public Fu(){ a=1; } 转载于:https://www.cnblogs.com/qingyundian/p/8436154.html
- 2019-09-27 16:14回答 3 已采纳 final int[] a = {100}; 该表示方法的作用是 a 的地址不能改变,而a[] 内的内容是允许改变的,若有int[] b = {}; a = b;这种是不允许的
- 2016-01-29 02:30回答 3 已采纳 不知道你说的方法的方法是什么 final可以修饰类,但是含义不同,final类表示无法派生。
- 2022-04-26 20:04回答 1 已采纳 看看这个,不是不能写,要看是哪种内部类,你书上应该也有写https://wenku.baidu.com/view/c2f7091440323968011ca300a6c30c225901f076.ht
- 2021-01-05 15:24Java中的final关键字 1、修饰类的成员变量 这是final的主要用途之一,和C/C++的const,即该成员被修饰为常量,意味着不可修改。 上面的代码对age进行初始化后就不可再次赋值,否则编译时会报类似上图的错误。 ...
- 2020-12-19 20:03CoderW喜欢写博客的博客 深入底层了解类变量
- 2020-08-28 14:33Java中的final关键字非常重要,它可以应用于类、方法以及变量,下面这篇文章主要给大家介绍了关于Java中final作用于变量、参数、方法及类该如何处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考...
- 2020-05-08 20:12回答 3 已采纳 final 定义的常量是不允许修改的,如果是普通类型,不允许重新赋值; 如果是对象类型不允许重新 new ,但是可以操作对象属性,修改地址的内容。
- 2020-07-11 16:02wushaoji321的博客 final修饰的成员变量只能在对象创建之前或者通过构造器赋值。 常用的赋值途径: 默认初始化 显式赋值 代码块赋值 构造器赋值 通过 .属性或 ....static final修饰的成员变量赋值时机: 我们知道static
- 没有解决我的问题, 去提问