当前位置:   article > 正文

final修饰符_java final修饰类

java final修饰类

Java中的final修饰符可以用于类、方法和变量上。它的主要作用是表示“最终的”、“不可修改的”、“只能赋值一次的”。

1.final修饰类

当final修饰一个类时,该类不能被继承,即不能有子类。这种情况下,该类的实现被认为是完整、安全和稳定的。例如,String类就是一个final类,因为它的实现中包含了一些重要的安全机制,不能被子类修改。

示例代码:

  1. public final class MyClass {
  2. // 类实现
  3. }

2.final修饰方法

当final修饰一个方法时,该方法不能被子类重写。这种情况下,该方法的实现被认为是最终的、安全的或固定的。例如,Object类中的getClass()方法就是一个final方法,它返回该对象的运行时类型信息,不能被子类修改。

示例代码:

  1. public class ParentClass {
  2. public final void myMethod() {
  3. // 方法实现
  4. }
  5. }
  6. public class ChildClass extends ParentClass {
  7. // 这里编译错误,无法重写myMethod()方法
  8. public void myMethod() {
  9. // 子类实现
  10. }
  11. }

3.final修饰变量

当final修饰一个变量时,该变量的值只能被赋值一次,且不能再次修改。这种情况下,该变量被认为是不可变的、恒定的或常量化的。例如,Math.PI就是一个final变量,因为圆周率是一个固定的常量,不会发生变化。

如果final变量是一个对象引用,那么该变量指向的对象可以被修改,但是不能再将该变量指向另一个对象。

示例代码:

  1. public class MyClass {
  2. public static final int MY_CONSTANT = 100;
  3. // 其他代码...
  4. }

final还可以用于修饰方法参数和局部变量

4.final修饰方法参数

  1. public class MyClass {
  2. public void myMethod(final String str) {
  3. // str不能被重新赋值
  4. System.out.println(str);
  5. }
  6. }

myMethod()方法的参数str被final修饰,表示该参数只能被赋值一次,并且不能被重新赋值。因此,在方法的实现中,不能对str进行重新赋值操作。

5.final修饰局部变量

  1. public class MyClass {
  2. public void myMethod() {
  3. final int num = 100;
  4. // num只能被赋值一次
  5. System.out.println(num);
  6. }
  7. }

myMethod()方法中定义了一个final修饰的局部变量num,表示该变量只能被赋值一次。因此,在方法的实现中,不能对num进行重新赋值操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/574353
推荐阅读
相关标签
  

闽ICP备14008679号