这个问题可能是涉及non-static和static函数的关系,在non-static函数中可以调用static函数,反之就不行。而构造函数不是static函数,所以就可以调用non-static函数,看下面例子:public class Temp {
    Temp() {
        print(); //ok
    }
    void print() {
        System.out.println("hello world");
    }
    public static void main(String[] args) {
        //print();  //error:non-static method cannot be referenced from a static context
        new Temp().print();
    }
}

解决方案 »

  1.   

    我来试着回答你的文字问题:首先要知道Constructor是干吗的?是用来初始化一个Instance
    当然在Constructor中可以调用non-static method,其实写全了就是this.aMethod();
    所以说non-static method只有在intstace中使用,是独立的多个Instance都独立执行自己的的aMethod()
    而static method是在Load Class时加载的,只要 (Instance instanceof ThisClass)都可以调用这个类的static Method我不知道我的解释是否确切,请后人继续补充或提出批评
      

  2.   

    呵呵,这是一个很基本的问题,怎么写着高手进呢
    在类进行实例化的时候有一个隐藏参数this,它对于本类内部的使用相当于Object's Reference,你说的问题根本就不是什么问题,因为加入this来理解是与其它显式引用是一样的,与函数是否static没关系