Java修饰符——final

博客介绍了Java中final关键字的三种修饰用法。final修饰成员变量时,基本类型变量值不可修改,引用类型变量指向的对象地址不可修改;修饰成员方法时,方法不可被子类重写但可继承;修饰类时,类不可被继承。


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

final 修饰成员变量

final 修饰成员变量后,该成员变量不可再被修改。

修饰基本类型的变量,不可再被修改,修改报错。
在这里插入图片描述
修饰引用类型的变量,引用变量不能修改,即指向的对象地址不能修改,但对象中的属性可以修改。
在这里插入图片描述

final 修饰成员方法

final 修饰成员方法,该方法不可被子类重写,但可被子类继承。

重写报错:
在这里插入图片描述
可继承:
在这里插入图片描述

final 修饰类

final 修饰类,该类不可被继承。
在这里插入图片描述

### Java修饰符选择题及相关练习 #### 关于Java修饰符的基础知识点 在Java编程语言中,修饰符用于定义类、方法以及变量的行为特性。这些修饰符可以分为访问控制修饰符和非访问控制修饰符两大类。 - **访问控制修饰符**决定了其他包中的类能否访问某个特定的类成员[^3]。 - `public`:表示该成员可被任何其他类访问。 - `private`:表示只有同一个类内部才能访问其私有成员。 - `protected`:允许同一包内的类和其他包中的子类访问。 - 默认(无关键字):仅限于同一包内可见。 - **非访问控制修饰符**提供了额外的信息来改变类、方法或变量的行为[^4]。 - `static`:使字段或方法属于类本身而不是实例对象。 - `final`:防止继承或者修改值。 - `abstract`:声明抽象类或方法。 - `synchronized` 和 `volatile` 主要涉及线程安全方面的内容。 以下是几道典型的有关Java修饰符的选择题目: --- #### 题目一 下面哪项描述最准确地解释了`final`关键字的作用? A. 能够阻止一个类派生出新的子类。 B. 可以让方法无法被重写。 C. 让基本数据类型的值不可更改。 正确答案是 A, B 和 C 均可能成立取决于上下文中如何应用 final 关键字[^5]。 ```java // 示例代码展示 final 的不同用途 final class FinalClass {} // 不允许有任何子类扩展它 class Example { final void show() { } // 此方法不能被覆盖 } ``` --- #### 题目二 考虑如下场景,在Student类中有这样一个属性定义:`private static int count = 0;` 下列说法哪个是对这个count变量性质的最佳概括? A. 它是一个静态变量,所有Student的对象共享此单一副本。 B. 因为它是私有的所以即使在同一程序的不同部分也无法直接通过外部途径读取到它的数值。 最佳答案应该是两者皆对即选项 AB 同时满足条件因为既强调了隐私保护又指出了共享特征[^6]。 --- #### 题目三 假设存在两个独立文件分别包含了Parent与Child这两个相互关联的类定义,请问如果希望child能够成功调用parent里的某些受保护资源应该怎样设计它们之间的关系呢? A. 将二者置于相同目录下即可实现互通互访无需特别设置权限等级; B. 确保Child作为Parent合法后代的同时还必须保证两者的源码归属统一软件包名之下; 正解应选后者——也就是保持一致性的封装结构从而遵循面向对象原则下的继承机制运作规律[^7]。 --- ### 总结说明 以上列举了一些围绕着Java核心概念之—修饰词展开的小测验供学习者自我检测理解程度之余也加深记忆印象。值得注意的是实际开发过程中合理运用各类限定符有助于构建更加清晰健壮的应用架构体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值