Home

韧桂

思考,总结

final关键字的使用

  • 在Java中声明类、属性和方法时,可使用关键字final来修饰,表示“最终”。
    • final标记的类不能被继承。提高安全性,提高程序的可读性。
      • 如 String类、System类、StringBuffer类
    • final标记的方法不能被子类重写。
      • 如 Object类中的getClass()。
    • final标记的变量(成员变量或局部变量)即称为常量。名称大写,且只能被赋值一次。
      • final标记的成员变量必须在声明的同时或在每个构造方法中或代码块中显式赋值,然后才能使用。
      • 如 final double PI=3.14;
package ten;
/*
 * final:最终的 ,可以用来修饰类、属性、方法
 * 
 * 1.final修饰类:这个类就不能被继承。如:String类、StringBuffer类、System类
 * 
 * 2.final修饰方法:不能被重写。如:Object类的getClass()
 * 
 * 3.final修饰属性:此属性就是一个常量,一旦初始化后,不可再被赋值。习惯上,常量用大写字符表示。
 * 此常量在哪里赋值:①此常量不能使用默认初始化 ②可以显式的赋值、代码块、构造器。
 * 
 * 变量用static 和 final修饰:全局常量
 * 
 * >与finally finalize()区分开
 * 
 */
public class TestFinal {
	public static void main(String[] args) {
		C c = new C();
		System.out.println(c.getClass());
		System.out.println(Math.PI);
	}
}

class D{
	final int I = 12;
	final double PI;
	final String NAME;

	public void m1(){
		System.out.println(I);
//		I = 10;

	}
	{
		PI = 3.14;
	}
	
	public D(){
		NAME = "DD";
	}
	public D(String name){
		this();
		//NAME = name;
	}
}

//class SubString extends String{
//	
//}
final class A{
	
}
//class B extends A{
//	
//}
class C{
	public final void method1(){
		System.out.println("method1");
	}
}

class E extends C{
//	public void method1(){
//		System.out.println("method1...");
//	}
}

韧桂 2019-12-30