final和static关键字
时间: 2023-10-28 12:05:51 浏览: 25
`final`和`static`都是Java中的关键字,它们分别表示不可修改和静态的含义。
`final`关键字表示不可变的,可以用于修饰变量、方法和类。如果一个变量被声明为`final`,则其值不能被修改。如果一个方法被声明为`final`,则该方法不能被子类重写。如果一个类被声明为`final`,则该类不能被继承。
例如:
```
final int x = 10; // x是一个常量,其值不能被修改
final void print() { // print方法不能被子类重写
System.out.println("Hello, world!");
}
final class MyClass { // MyClass类不能被继承
// ...
}
```
`static`关键字表示静态的,可以用于修饰变量、方法和代码块。如果一个变量被声明为`static`,则它属于类,而不是属于对象,所有对象共享这个变量。如果一个方法被声明为`static`,则该方法属于类,可以通过类名直接调用它。如果一个代码块被声明为`static`,则该代码块属于类,只在类加载时执行一次。
例如:
```
static int count = 0; // count是一个静态变量,所有对象共享它
static void printCount() { // printCount是一个静态方法,可以通过类名直接调用它
System.out.println("Count: " + count);
}
static { // 静态代码块,在类加载时执行一次
System.out.println("Class loaded!");
}
```
总之,`final`表示不可变,`static`表示静态,它们在Java程序中有着不同的应用场景。
阅读全文