JAVA关键字——final的使用

final的使用

一、final 可以用来修饰的结构:类、方法、变量;

二、final 用来修饰一个类:此类不能被其他类所继承;比如:String类、System类、StringBuffer类;

三、final 用来修饰一个方法:表明此方法不可以被重写;比如:Object类中getClass();

四、final 用来修饰一个变量,此时的变量就称为一个常量:

4.1final修饰属性:可以考虑赋值的位置有:显示初始化,代码块中初始化,构造器初始化;不能使用默认初始化和对象.方法或对象.属性来赋值;

4.2final修饰局部变量:尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给形参赋值以后就不可以再更改,只能使用这个实参的值;

static fianl:用来修饰属性和方法;属性叫全局常量;方法这样修饰的用得少;

public class Final4 {
     

	public static void main(String[] args) {
     
		// TODO Auto-generated method stub
		C c = new C();
		System.out.println(c.test());		
//		Test test = new Test();
//		test.setX(2);
	}
}
final class A{
     }
//final class B extends A{}
//The type B cannot subclass the final class A
class B{
     
	public final int test() {
     
		return 0;
	}
}
class C extends B{
     
//	public void test() {} //不能重写继承的final方法;
}

//修饰变量:
class Test{
     
//	方法1:(不可用默认初始化)
//	final int x; //The blank final field x may not have been initialized
//	方法2:(不可以使用set方法来赋值)
//	final int x;
//	public void setX(int n) {
     
//		this.x = n;
//	}
//	方法3:显示赋值:
	final int X = 2;
//	方法4:构造器赋值:
	final int Y;
	public Test() {
     
		this.Y = 2;
	}
//	方法5:代码块赋值:
	final int Z;
	{
     Z = 3;}
}

以上就是笔者对final的学习总结,有不足之处还望各位朋友指出呀!

你可能感兴趣的:(java基础关键字,java,javase)