一.static关键字
static意为静态的,可以用来修饰属性、方法、代码块、类。
1.修饰属性
被static修饰的属性在程序中只存在一份,每个对象访问该属性都是访问的同一个,且可以通过类名.属性名的方式直接访问,不一定需要实例化对象来访问。在实例方法中也可以访问静态属性。
2.修饰方法
被static修饰的方法,可以通过类名.方法名来调用,不一定要实例化出对象。在static方法中不能使用this指针访问类的实例域,因为此时this没有具体的指向。在static方法中访问类的实例属性必须要指定具体的对象。
3.修饰代码块
被static修饰的代码块,在类加载的时候会执行,且只会执行一次。不像实例代码块一下,每次实例化对象都会执行一次。
4.修饰类
可以用static声明一个内部静态类
二.final关键字
final字面意思为最终的,可以用来修饰类、属性、方法。
1.修饰类
表示这个类不可以被继承。例子:String类
2.修饰属性
表示这个变量初始化后就不能再改变了。这里的不再改变,对于基本类型变量来说是它的值不再变了,对于引用类型变量来说是不再改变成引用其它对象了。
如果是在方法中,一个final的变量,在初始化后就不能再重新赋值了。初始化可以在声明时,或稍后。
如果是类成员变量,必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。
3.修饰方法
修饰方法时说明该方法不能被重写。
如果本文对您有帮助,欢迎关注我的原创微信公众号“Java技术小站”第一时间接收我的更多文章