final可以修饰类、属性、方法。
当用final修饰类的时候,此类不可被继承,即final类没有子类。这样可以用final保证用户调用时动作的一致性,可以防止子类覆盖情况的发生。
当利用final修饰一个属性(变量)的时候,此时的属性成为常量。
JAVA利用final定义常量(注意在JAVA命名规范中常量需要全部字母都大写):
Final int AGE=10;
常量的地址不可改变,但在地址中保存的值(即对象的属性)是可以改变的。
Final可以配合static使用。 ?
Static final int age=10;
package TomText;
//switch语句示例。注意其中break语句的作用。
public class TomText_27 {
public static void main(String[] args) {
for(int i = 0; i < 100; i++) {
char c = (char)(Math.random() * 26 + 'a');
System.out.print(c + ": ");
switch(c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("vowel");
break;
case 'y':
case 'w':
System.out.println("Sometimes a vowel");
break;
default:
System.out.println("consonant");
}
}
}
}
是的,final
关键字在Java中可以用来修饰类、属性、方法。
final
修饰类:当用final
修饰类时,这个类不能被继承。也就是说,没有其他类可以继承这个final
类。例如,String类就是一个final
类,我们不能继承String类。
public final class FinalClass {
// ...
}
final
修饰属性(也称为字段):当用final
修饰属性时,这个属性的值在初始化之后不能再被修改。也就是说,这个属性必须是常量。例如:
public class MyClass {
public final int MY_CONSTANT = 10;
}
final
修饰方法:当用final
修饰方法时,这个方法不能被子类重写。也就是说,如果一个类继承了这个方法,那么它就不能改变这个方法的实现。例如:
public class MyClass {
public final void myMethod() {
// ...
}
}
在Java中,使用final
关键字可以帮助我们更好地理解和使用Java的继承和多态特性。此外,final
关键字还有一些其他的用法:
4. final
修饰变量:如果一个变量被final
修饰,那么这个变量的值就不能被改变。也就是说,这个变量就变成了一个常量。
5. final
修饰构造函数:当用final
修饰构造函数时,这个类不能被继承,同时它的构造函数也不能被重写。
6. final
修饰方法参数:当用final
修饰方法参数时,这个参数在方法内部就不能被改变。
总的来说,final
关键字在Java中可以用来控制类的继承、方法的重写以及变量的修改。使用好final
关键字可以帮助我们更好地设计和实现Java程序。