假设有一个类,我只对这个类的引用做一个声明,那么这个类中的static方法会被初始化吗

假设下面这种情况,test1中的do方法会被初始化吗?
public class test{
public static void main(string []args){
test1 t;
}
}
class test1{
int i;
static void do(){}
}

方法不存在什么初始化,只用成员变量需要初始化。
而且你test1 t;
t此时是指向null,没法调用do。需要先new。

方法不用初始化,对于static方法,直接通过 类名.xxxx调用

看错了,static方法可以调用,不需要初始化。而且不需要对象。
用 test1.do 调用,而不是用 t.do

 创建类的实例
 访问某个类或接口的静态变量,或者对该静态变量赋值
 调用类的静态方法
 反射(如Class.forName(“com.shengsiyuan.Test”))
 初始化一个类的子类
 Java虚拟机启动时被标明为启动类的类(Java Test).

出现以上6中情况,才会初始化,初始化的是什么呢?初始化的是静态成员变量或者执行静态代码块

只对这个类的引用做一个声明,不会初始化

对于static方法,只有在第一次类加载时被初始化,之后就不会了!