java继承-final关键词用法

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);
	}
}
原文地址:https://www.cnblogs.com/liubing2018/p/8421810.html