final关键字
时间: 2023-12-10 21:39:09 浏览: 25
在Java中,final是一个关键字,用于修饰变量、方法和类。它的作用如下:
1. 修饰变量:使用final修饰的变量表示常量,即该变量的值不能被修改。一旦被赋值,就无法再改变。例如:
```
final int MAX_COUNT = 100;
```
2. 修饰方法:使用final修饰的方法表示该方法不能被子类重写。例如:
```
class SuperClass {
public final void printMessage() {
System.out.println("Hello, World!");
}
}
class SubClass extends SuperClass {
// 编译错误,不能重写printMessage方法
}
```
3. 修饰类:使用final修饰的类表示该类不能被继承。例如:
```
final class FinalClass {
// 类定义
}
// 编译错误,FinalClass不能被继承
class SubClass extends FinalClass {
}
```
综上所述,final关键字可以用来表示常量、防止方法被重写、防止类被继承。
相关问题
java final关键字
Java中的final关键字可以用于修饰类、方法和变量。当一个类被声明为final时,它意味着该类不能被继承。当一个方法被声明为final时,它意味着该方法不能被重写。当一个变量被声明为final时,它意味着该变量的值不能被修改。
final关键字的基本用法如下:
1. 修饰类:被final修饰的类不能被继承。
2. 修饰方法:被final修饰的方法不能被子类重写。
3. 修饰变量:被final修饰的变量只能被赋值一次,赋值后不能再修改。
下面是一些使用final关键字的例子:
1. final修饰类
```java
final class FinalClass {
// 类的内容
}
```
2. final修饰方法
```java
class ParentClass {
protected final void play(){
System.out.println("开心的玩耍");
}
}
class ChildClass extends ParentClass {
// 无法重写父类的final方法
}
```
3. final修饰变量
```java
class FinalVariable {
final int value = 10; // 一旦被赋值,就不能再修改
// 其他代码
}
```
c++ final关键字
C++11中的final关键字有两个用途:阻止类被继承和阻止虚函数被重载。
1. final关键字修饰类,阻止类被继承
```c++
class Base final {
// ...
};
// 以下代码会编译错误,因为Derived类试图继承final类Base
class Derived : public Base {
// ...
};
```
2. final关键字修饰虚函数,阻止虚函数被重载
```c++
class Base {
public:
virtual void foo() final {
// ...
}
};
class Derived : public Base {
public:
// 以下代码会编译错误,因为Derived类试图重载final函数foo
virtual void foo() {
// ...
}
};
```