public class VariantTest{
public static int staticVar = 0;
public int instanceVar = 0;
public VariantTest(){
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
}
public static void main(String[] args){
}
}
public class VariantTest{
public static int staticVar = 0;//定义静态成员,其在类加载时就存在了,不依靠VariantTest来调用。
public int instanceVar = 0;//定义非static成员,只有VariantTest的对象才能调用
public VariantTest(){//重载构造函数,在创建类的对象时调用此函数
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
}
public static void main(String[] args){
}
}
楼主,关于这个问题你要清楚几个知识点:
1、构造函数名与类名一致,当创建类的实例的时候,默认调用空参数构造函数;如果没有空参数构造函数,必须手动调用带参数的构造函数。
2、用static 修饰的成员,在类加载的时候就加载了,不依赖于对象;而非static的成员是依赖于对象存在的,也就是说只有创建了对象才能调用非static成员。