java中final和static总结

//static和final修饰符总结
public class TestFinal {
	//final修饰的变量必须在定义时就初始化或者在构造器初始化
	private static int SIZE;
	//如果final修饰对象引用,那么使得引用不变,而不是对象不变,对象本身还是可以修改的
	private static final String str="xi";
	public TestFinal() {
		SIZE=1;
	}
	public static void main(String[] args) {
		String str1=TestFinal.str;
		System.out.println(str1);
	}
	//final方法不可被覆盖,因为private方法不能被继承,所以private方法实际上也是final类型
	private final void print(){
		//private加上final也不会报错
	}
}

final class Person{
	
}
//不能继承final类,会报错
class Student extends Person{
	
}

//构造器本质也是static 所以一个类的加载是在类的static成员被访问时开始加载
//java中大部分方法默认动态绑定。只有static和final还有private(就是final)不是动态绑定
//因此静态方法和类相关的,不具备多态性
//接口中的域变量默认是public static final的必须定义的时候就初始化 可以不写修饰符都是默认的 如果写其他的则会报错
//接口中的方法默认是public abstract的 可以不写修饰符 都是默认的
interface Dog{
	public final static int i=1;
	//不写abstract也可以,因为默认就是abstract的
	//实现此方法的方法也必须是public的,因为继承之后不能让修饰符权限下降
	public abstract void print();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值