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成员。 |