Java final关键字

纸上得来终觉浅

Think in java:Final关键字可以修饰数据,方法和类:

1)修饰数据:

A:修饰基础数据类型: 表示值不可改变

B:修饰非基础数据类型:表示句柄不可改变

C:修饰自变量:包含上述两种情况,只是所修饰的内容是方法的参数

2)修饰方法:

A:表示方法不可被重写

B:在运行期间可能会提高效率:

在需要使用方法的时候直接复制一份代码,以空间换时间。

3)修饰类

表示类不能被继承(未在示例中体现,手动测试下即可)

示例:

package roadArchitectWeb.Test;
class Test{
	public int i = 11; 
}
public class Test1{
	/*1.final修饰基础类型变量*/
	public final int a=10;
	/*2.final修饰非基础类型变量*/
	public final Test test = new Test();
	/*1和2不仅可以应用在类的成员变量中,还可以应用在方法的自变量中*/
	public void prt(final Test test){
//		test = new Test();     /*不能更改test的句柄*/
		System.out.println("Test1.prt()");
	}
	/*final修饰方法*/
	public final void print(){
		System.out.println("Test1.print()");
	}
	public static void main(String[] args) {
		Test1 test1 = new Test1();
//		test1.a = 11;   /*不能更改a的值*/
//		test1.test = new Test();   /*不能更改test的句柄*/
		test1.prt(new Test());
	}
}
package roadArchitectWeb.Test;
public class doTest1 extends Test1{
	public void prt(){
		
	}
//	public void print(){     /*无法被重写*/
//		
//	}
}

你可能感兴趣的:(java,final,final修饰成员变量,final方法)