标签: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