JavaSE_23th_final关键字

一、final关键字
final意为最终的,即一旦确定就再也不能被改变。
1、final变量的值不能够被改变
1)final成员变量
public class TestFinal {
	public static void main(String[] args) {
		T t = new T();
		t.i = 9;	//错误,i被final修饰,其值一旦初始化就不能再被修改
		t.i = 8;	//错误,就算所赋值与初始值8一样,也同样违背了不能final变量不能被修改
	}
}

class T {
	final int i = 8;
}

2)final局部变量(形参)
public class TestFinal {
	public static void main(String[] args) {
		T t = new T();
		t.m(100);
	}
}

class T {
	final int i = 8;
	public void m(final int j) {
		j = 200;	//错误,形参的值被初始化为100,其值就不能再在函数体内部被修改
	}
}

2、final的方法不能够被重写
class T {
	final int i = 8;
	public final void m() {
		System.out.println("T");
	}
}

class TT extends T {
	/*
 	 * 重写错误,子类TT类无法对父类T类中的m()方法进行重写,即final方法不能被覆盖。
 	 */
	public final void m() {
		System.out.println("TT");
	}
}


3、final类不能够被继承

如:public final class String,
        public final class Math...

这些类是final类,无法被继承。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值