TestClass ss=new TestClass();隐示地调用构造函数
TestClass testSample = null;不调用构造函数

解决方案 »

  1.   

    TestClass testSample = null,
    testSample.setValue(2);
    這樣好像不對吧,你還沒有讓testSample指向一個實例,testSample.setValue(2);應該做不起來,你要先TestClass testSample = new TestClass(),在new TestClass()時調用构造函数,就是你寫的public TestClass() {
        }
    你在類里如果寫了多個构造函数,如public TestClass(int i) {
    value = i;
        }
    那你在初始化時用TestClass testSample = new TestClass(5),那testSample.value的值就為5
      

  2.   

    不实例化一个类,则只能调用该类的static方法或者变量;
    如果一个变量或者对象为null,你是不能对其进行任何操作的,象:
    TestClass testSample = null;
    testSample.setValue(2);
    则编译通不过.
    而如果只执行TestClass testSample = null;则JVM的ClassLoader类会将包含TestClass的类信息的TestClass.class(一个系统自动封装的ref)装入内存,但不会去执行构造.
      

  3.   

    楼上怎么没人说会有NullPointException出现啊?
    很明示的错误嘛
      

  4.   

    大虾们,正因为我在编译时通过了,我才问你们呀?难道运行时才会出错??请再赐教!不过,我是将它的方法调用放在try-catch里面的!
      

  5.   

    所有的Exception都是在运行时才会出现的,编译没问题的
    在catch里把Exception println出来看看啊