static、final、static和final

static 静态的修饰属性,静态属性和方法是属于该类的所有对象的,可以用类名.静态属性/方法名来访问。用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块。

static变量
按照是否时静态的类成员变量进行分为两种:静态变量和实例变量。
实例变量实在对象创建时被初始化的,而static修饰的属性,是在加载时被创建并进行初始化,类加载的过程时进行一次,也就是类变量也只会创建一次,static修饰的变量可以修改。
静态方法
静态方法时可以直接通过类名调用,任何的实例也都可以调用,静态方法不能用this和super关键字,不能直接访问所属类的实例变量和实例方法,只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联。
Java中main方法必须写成static的原因,在类加载时无法创建对象,因为静态方法可以不通过对象调用,所以在类的main方法中所在的类加载时就可以通过main方法入口来运行程序

static代码块

static代码块也就是静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不再任何的方法体内,JVM加载类时会执行这些静态代码块,如果static代码块有多个时,JVM将按照它们在类的出现顺序先后依次执行,每个代码块只会执行一次。

final表示常量,一旦创建久不能改变的量,可以修饰变量,方法,类

final标记的局部变量为常量。final标记的成员变量必须在声明的同时赋值,final方法不能被子类重写,final类不能被继承,

static和final一块用表示什么
可以用来修饰成员变量和成员方法,可以简单的称为“全局常量”
对于变量,一旦给值就不可被修改,并且通过类名可以访问
对于方法,表示不可被覆盖,并且通过类名可以访问

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容