【JAVA基础——final关键字】

JAVA基础

final 关键字


文章目录

  • JAVA基础
    • 概述
    • final修饰类
    • final修饰方法
    • final修饰变量
    • 非final类内 final修饰的方法和变量可以被继承类调用


概述

在 Java 中,final 是一个关键字,用于修饰类、方法和变量。

  • final 类: 不可被继承。
  • final 常量: 只能赋值一次,不可更改。
  • final 方法:不可被继承。所有的 private 方法都隐式地指定为 final。

final修饰类

类被声明为 final时,则该类不能被继承。即不能有子类来继承该类。这样可以防止类的修改和扩展,确保类的行为和结构的稳定性。

public final class FinalClass {

}

final修饰方法

方法被声明为 final时,则该方法不能被子类重写或覆盖。子类不能改变父类 final 方法的实现。这样可以确保方法的行为一致性,并且可以提高性能。

final修饰变量

如果一个变量被声明为 final,则该变量只能被赋值一次,赋值后不能再改变。这样可以创建只读变量,保护数据的一致性。

非final类内 final修饰的方法和变量可以被继承类调用

public class NonFinalClass {

    public final String FINAL_FIELD = "final field";

    public String NON_FINAL_FIELD = "non final field";

    public final String finalMethod() {
        return "final method";
    }

    public String NonFinalMethod() {
        return "non final method";
    }

}

public class ExtendClass extends NonFinalClass {

    @Override
    public String NonFinalMethod() {
        NON_FINAL_FIELD = "override non final field";
        return "override non final method";
    }


    /**
     * final field
     * non final field
     * final method
     * override non final method
     * override non final field
     */
    @Test
    public void test() {
        System.out.println(FINAL_FIELD);
        System.out.println(NON_FINAL_FIELD);
        System.out.println(finalMethod());
        System.out.println(NonFinalMethod());
        System.out.println(NON_FINAL_FIELD);
    }

}





在这里插入图片描述

你可能感兴趣的:(JAVA基础,java,开发语言)