亲子之家网—你身边的文案专家

亲子之家网—你身边的文案专家

final是什么系统

59

`final` 是 Java 中的一个关键字,主要用于以下场景,具有以下特性:

一、修饰成员变量(常量)

当 `final` 修饰成员变量时,表示该变量为常量,其值在初始化后不可更改。基本数据类型(如 `int`、`double`)会被初始化为默认值(如 `0`、`0.0`),引用类型(如对象、数组)的引用不可变,但对象内容仍可修改。

示例:

```java

public class Test {

final int i = 10; // 常量

final String name = "Java"; // 常量

// final int j; // 编译错误,必须初始化

}

```

二、修饰类

当类被声明为 `final` 时,该类不能被其他类继承。例如 `String` 类就是 `final` 类型,无法被继承。

示例:

```java

final class FinalClass {

// 类体

}

// 下面这行代码会编译错误

// class SubClass extends FinalClass { }

```

三、修饰方法

不可重写:`final` 方法不能被子类重写,但可以被重载;

可重载:与重写不同,重载是指在父类中定义多个同名但参数不同的方法,与子类无关。

示例:

```java

public class Base {

final void display() {

System.out.println("This method cannot be overridden");

}

void display(String msg) {

System.out.println(msg);

}

}

class SubClass extends Base {

// 下面这行代码会编译错误,无法重写 final 方法

// @Override

// void display() { ... }

}

```

四、修饰局部变量和参数

局部变量:在方法内部声明的 `final` 变量,初始化后不可修改;

方法参数:传递给方法的参数若声明为 `final`,则方法内部无法修改该参数的值。

示例:

```java

public void process(int[] array) {

final int size = array.length; // 局部常量

// array = 10; // 编译错误,无法修改数组元素

// size = 20; // 编译错误,无法修改常量

}

```

总结

`final` 的核心作用是 不可变性,通过限制变量修改、类继承和方法重写,提高代码的安全性和可维护性。其应用场景覆盖了变量、方法和类,是 Java 面向对象编程中不可或缺的关键字。