静态变量,静态同步代码块,代码块

我们知道,一个类模板可以创建多个对象,而每个对象都有自己的成员,同时这些成员之间都是相互独立,互不干扰。

如果我们想所有该类的对象都共享一个成员变量,那么这个时候就需要用到static了

static可以修饰变量,方法,以及代码块

static变量称为静态变量,是被整个类所有,即被该类的所有实例对象共享,当某个对象对静态变量的值做出修改,那么该类的所有实例对象的静态变量都会修改,静态变量是存放在方法区的

什么时候用静态方法,什么时候用成员方法:

之所以静态方法中不能使用非静态的成员或者方法,这是因为静态方法是类级别的不用new对象就可以调用,

而成员变量或者成员方法是对象级别的,需要new对象才能使用

在静态方法中调用的话,就相互矛盾了,因此才无法在static中调用非static的变量或者方法

因此静态方法一把是用来写工具类的,只要有用到成员变量的就用成员方法

静态代码块,跟代码块:

可以看到,在Test的main方法中输出A之前,会在Test类加载的时候执行所有的静态代码块,从上到下依次执行

然后就执行main方法中代码,然后在new出Test对象前,会执行代码块

所以静态代码块在类加载的时候执行一次,代码块在执行构造方法的时候执行一次

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

相关阅读更多精彩内容

友情链接更多精彩内容