标签:blog 使用 java sp div c log amp r
使用final关键字可以完成如下的操作:
.声明一个类
使用final去修饰一个类时,该类不能被继承
final class example{
int value;
public int getValue(){
return value;
}
}
//这里的test想要继承example,但是example被final修饰,所以在编译时会报错
class test extends example{
}
.声明一个方法
使用final修饰一个类的方法,则该方法不能被子类重写
class example{
int value;
final public int getValue(){
return value;
}
}
class test extends example{
public int getValue(){
}
}
//这里的test类尝试重写父类example的方法getValue(),但是在父类中getValue()使用final修饰,会报无法覆盖父类方法的错误
.声明一个常量
class example{
final int value = 100;
final int value1;
public int setValue(){
value = 200;
return value;
}
}
//类中的value使用了final修饰,说明value是一个常量,方法setValue()尝试去修改value的值,在编译期间会报无法为最终变量value指定值的错误.
//另外使用final修饰的value1初始化时没有赋值,也会报错,因为它是一个常量,不能没有值,这种情况可以在构造方法中赋值,如下
class example{
final int value;
example(int value){
this.value = value;
}
}
//注意,只有构造方法才可以给未初始化的final变量赋值
标签:blog 使用 java sp div c log amp r
原文地址:http://www.cnblogs.com/qthomas/p/4005674.html