static,final关键词修饰

static关键字:可以修饰属性,方法,代码块,但只能修饰类成员,不能修饰局部变量
static标记的变量或方法由整个类(所有实例)共享,static标记的变量或方法由整个类(所有实例)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加’.’调用。
类变量由类的所有是实例共享。
类方法:
没有对象的实例时,可以用类名.方法名的形式访问由static标记的类方法
在这里插入图片描述
在static方法内部只能访问类的static属性,不能访问类的非static属性
在这里插入图片描述
因为不需要类的实例就可以访问ststic方法,因此static方法内部不能有this和super()
static方法的作用:简化方法的使用;便于访问静态属性
注意事项:1.静态方法只访问静态成员,不能直接访问类中的非静态成员
2.静态方法中不能使用this,super关键字
3.静态方法不能被非静态方法覆盖(重写),静态方法不能修饰构造器(构造器需要new实例对象来使用,被static修饰的普通方法只能通过类的调用来使用)
在设计类时,分析哪些属性不因对象的不同而改变,将这些属性设计为类属性,相应的方法设计为类方法。
一个类中可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只能被执行一次,静态块经常被用来进行类属性的初始化
在这里插入图片描述
在这里插入图片描述
final关键字
在Java中声明类、属性和方法时,可使用关键字final来修饰。
final标记的变量(成员变量或局部变量)即成为常量,常量获得初始值之后不能被重新赋值。
final标记的类不能被继承。提高安全性,提高程序的可读性
final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用。
在这里插入图片描述
在这里插入图片描述
举例:
在这里插入图片描述
注:(static修饰的就在static初始化块定义初始值,不是static修饰的就放在初始化块)

猜你喜欢

转载自blog.csdn.net/weixin_40645193/article/details/106932882