Java Static和final关键字

一.static关键字

static意为静态的,可以用来修饰属性、方法、代码块、类。

1.修饰属性

被static修饰的属性在程序中只存在一份,每个对象访问该属性都是访问的同一个,且可以通过类名.属性名的方式直接访问,不一定需要实例化对象来访问。在实例方法中也可以访问静态属性。

2.修饰方法

被static修饰的方法,可以通过类名.方法名来调用,不一定要实例化出对象。在static方法中不能使用this指针访问类的实例域,因为此时this没有具体的指向。在static方法中访问类的实例属性必须要指定具体的对象。

3.修饰代码块

被static修饰的代码块,在类加载的时候会执行,且只会执行一次。不像实例代码块一下,每次实例化对象都会执行一次。

4.修饰类

可以用static声明一个内部静态类

二.final关键字

final字面意思为最终的,可以用来修饰类、属性、方法。

1.修饰类

表示这个类不可以被继承。例子:String类

2.修饰属性

表示这个变量初始化后就不能再改变了。这里的不再改变,对于基本类型变量来说是它的值不再变了,对于引用类型变量来说是不再改变成引用其它对象了。
如果是在方法中,一个final的变量,在初始化后就不能再重新赋值了。初始化可以在声明时,或稍后。
如果是类成员变量,必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。

3.修饰方法

修饰方法时说明该方法不能被重写。


如果本文对您有帮助,欢迎关注我的原创微信公众号“Java技术小站”第一时间接收我的更多文章

Java技术小站.png

你可能感兴趣的:(Java Static和final关键字)