Java-final关键字

  • final的变量的值不能够被改变
    • final的成员变量
    • final的局部变量(形参)
public class TestFinal {
    public static void main(String[] args){
        T t = new T();
        t.i = 8;  //不可以更改,会报错
    }
}
class T{
    final int i = 8;
	// 不可以更改,会报错:java: 不能分配最终参数j
    public void m(final int j){
    	j = 9;
    }
}
  • final的方法不能够被重写
class T{
    final int i = 8;
    public final void m(){
    	//j = 9;
    }
}
class TT extends T{
	//报错:java: TestFinal.TT中的m()无法覆盖TestFinal.T中的m()
  	//被覆盖的方法为final
	public void m(){
	}
}
  • final的类不能够被继承
final class T{
    final int i = 8;
    public final void m(){
        //j = 9;
    }
}
//报错:java: 无法从最终TestFinal.T进行继承
class TT extends T{
}

你可能感兴趣的:(Java,java,开发语言)