Java 在我的主类中调用重写的方法
我的代码是这样的。。。 但是当我调用被重写的方法createHome()时,似乎出现了一个问题。下面是一个示例代码:Java 在我的主类中调用重写的方法,java,methods,overriding,Java,Methods,Overriding,我的代码是这样的。。。 但是当我调用被重写的方法createHome()时,似乎出现了一个问题。下面是一个示例代码: public class Test extends SweetHome3D { public static void main(String [] args) { new Test().init(args); ***createHome();*** } @Override public Home createHome() { Home h
public class Test extends SweetHome3D {
public static void main(String [] args) {
new Test().init(args);
***createHome();***
}
@Override
public Home createHome() {
Home home = super.createHome();
// Modify home as you wish here
return home;
}
}
我认为代码没有编译?您正在调用
createHome()
,就好像它是一个静态方法一样
public static void main(String [] args) {
Test test = new Test();
test.init(args);
test.createHome();
}
我认为代码没有编译?您正在调用
createHome()
,就好像它是一个静态方法一样
public static void main(String [] args) {
Test test = new Test();
test.init(args);
test.createHome();
}
像Eclipse这样的IDE会指出这样的错误!像Eclipse这样的IDE会指出这样的错误!我猜你的意思是:新家;newhome.init(args);newhome.createHome();写尽管如此,它还是不起作用:(@Mitsaki:不,我是说我写的。你那里的东西将创建一个
Home
对象,它的createHome()
方法将被调用。不过声明可以是Home
。我只是不确定init()
是主页
的一种方法。你说它不起作用是什么意思?对不起,这是我代码的一部分,我很困惑。我忘了我在这里“称”我的类为“测试”。你是对的,这是一种方法:)非常感谢:)@Mitsaki:那么它起作用了?好:)。请确保接受此答案;)。我猜你的意思是:新家;newhome.init(args);newhome.createHome();写尽管如此,它还是不起作用:(@Mitsaki:不,我是说我写的。你那里的东西将创建一个Home
对象,它的createHome()
方法将被调用。不过声明可以是Home
。我只是不确定init()
是主页
的一种方法。你说它不起作用是什么意思?对不起,这是我代码的一部分,我很困惑。我忘了我在这里“称”我的类为“测试”。你是对的,这是一种方法:)非常感谢:)@Mitsaki:那么它起作用了?好:)。请确保接受此答案;)。