如果我没有记错的话,这个问题是多态的问题,结果是B因为Base b = new Derived(); 这句话是一个多态的调用,其实调用了Derived的构造函数,由于该构造函数并未给出,所以系统默认为空构造函数,首句为super();故调用了Derived里的amethod()System.out.println(b.i); 由于成员变量在多态中不能重载,故b.i是调用base中的i。最后一句就是调用了子类中的重载方法