Day08 final 关键字

123 阅读1分钟

被final修饰的类无法被继承

// 父类 
public final class T3 {
	int age;
	String name ;
	public T3(int age, String name) {
		super();
		this.age = age;
		this.name = name;
	}
	public T3() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	

}

被final 修饰的变量无法再次改变

public class Demo_final {
	
	public static void main(String[] args) {
		int a = 13;
		final int b = 344;
		final int c;
		
		a =35;
//	    b = 55;     不可再次改变
		c=50; 
//		c=67;	   只可赋值一次
		
		
		
	}

}

被final修饰的方法可以被继承不可被重写,但是可以被子父类调用

父类

//父类定义了一个被final修饰的方法
public class T1 {
	 
	public final void pao() {
		
		System.out.println("12345上山打老虎");
		
	}
}

子类

// 子类无法重写父类pao方法
public class T2 extends T1{
	/*
	 * @Override public void pao() { // TODO Auto-generated method stub super.pao();
	 * }
	 */
	
	
	public static void main(String[] args) {
		T1 t1 = new T1();
		t1.pao();
		
	}
	

}

可通过创建子父类对象调用方法

public class Test {
	public static void main(String[] args) {
//		子类可调用pao方法证明方法已被继承
		T1 t1 = new T1();
		t1.pao();
		T2 t2 = new T2();
		t2.pao();
	}

}