java类的构造方法一定会执行吗?

我写了一个类,但是程序中没有声明这个类的对象。但是这个类中有个静态的变量,我直接通过类名来操作静态变量。。。这种情况下,这个类的构造方法是不是就不会执行?还有,是不是不管是不是声明类的对象,对这个静态变量都没有影响?



拉风的咖菲猫
浏览 1011回答 5
5回答

qq_笑_17

对的, 你的理解没有错. 静态变量属于类本身, 不属于对象, 因此直接使用类名来操作静态变量, 是不会导致这个类的构造方法执行的.还有,是不是不管是不是声明类的对象,对这个静态变量都没有影响?对的. 还是那句话, 静态变量是类的属性, 和这个类的对象没有关系. 所有的对象都共用一个此类的静态变量, 因此不论是否有实例化对象, 都不影响这个静态变量的使用.

手掌心

区别开类型和实例

哆啦的时光机

Java程序对类的使用方式:主动使用被动使用所有的Java虚拟机实现必须在每个类或接口被Java程序首次主动使用时才初始化他们。主动使用:创建类的实例访问某个类或接口的静态变量,或者对该静态变量赋值调用类的静态方法反射初始化一个类的子类Java虚拟机启动是被标明为启动类的类除了以上六中情况,其他对类的使用都是被动使用,都不会导致类的初始化。当访问一个类的编译时静态常量的时候,并不会导致类的初始化,即编译时就已经确定值的常量

慕尼黑8549860

静态变量与代码块是先于构造器加载,且只加载一次,类似的当作一个全局变量来理解,虽然java是没有全局变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java