java繼承-final關鍵詞用法

biubiubiuo發表於2018-02-06

final關鍵字特點:

  1.可以用來修飾變數、方法、類。

  2.修飾的變數是一個常量。一旦被賦值就不能被修改(常量一般都和static關鍵字配合使用)

  3.修飾類代表此類不能被繼承4.修飾方法代表次方法不能被重寫

public class finalDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		final DemoA dA = new DemoA();
		DemoB dB = new DemoB();
		
		//dA = new DemoA;如果新增了final修飾,則dA不可以再修改dA的引用
		dA.TestA();
		dB.TestA();
	}

}
 /*final*/ class DemoA{//如果新增了final,則DemoB不可以繼承DemoA
	public final int a = 1;
	public int b =2;
	
	public /*final*/ void TestA() {//如果新增了final,則DemoB裡的TestA不可以重寫DemoA裡的TestA
		//a++;錯誤!因為final修飾的變數a即為常量,不可以被修改
		System.out.println(a);
	}
	public void TestB() {
		System.out.println(b);
	}
}

class DemoB extends DemoA{
	public int a = 1;
	public int b =2;
	
	public void TestA() {
		System.out.println(a);
	}
	public void TestB() {
		System.out.println(b);
	}
}

 

相關文章