2015-10-10 34 views
1

我正在用Java创建一个文本冒险游戏。我创建了一个出口,房间,生物和物品类,现在我正在实例化并为他们在我的主类中添加值。冒险游戏构造方法问题Java

我虽然得到这个问题:因为我创造了我的房间退出时,我得到一个编译器错误说

类出口构造退出不能被应用到给定类型

这是代码行,我发现了编译器错误:

Exit exit1 = new Exit("Exit1", "Exit description", "Exit transition text"); 

,并在我的Exit类我有这样的构造方法:

public void Exit(String exit, String exitDescription, String exitTransition) { 
    this.Exit(exit, exitDescription, exitTransition);  
} 

但每次我告诉IDE(Netbeans的)来纠正编译器错误的时间,它在我的Exit类生成的:

Exit(String exit1, String exit_description, String exit_transition_text) { 
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
} 

所以我的问题是,为什么我的构造方法工作?另外,我得到了我的教授的帮助,我相信他说我不想要生成的代码。尽管不记得。

+2

'公共无效Exit'不是构造函数,这是一个方法 – MadProgrammer

+1

请阅读帮助/ MCVE文件并提供缺少的部分。您也可以备份到以前的代码工作版本,并尝试一次向前移动几行。没有最小的,完整的和可验证的例子(mcve),我们不能帮助太多。 – Prune

回答

4

这不是一个构造函数:

public void Exit(String exit, String exitDescription, String exitTransition) { 

构造函数没有返回类型。

这是一个构造函数:

public Exit(String exit, String exitDescription, String exitTransition) { 

当然,你知道,即使这是一个有效的构造,因为它似乎你要在它的身上代码中并没有太大的意义具有构造函数递归调用自身:

// void removed 
public Exit(String exit, String exitDescription, String exitTransition) { 
    this.Exit(exit, exitDescription, exitTransition); // this calls itself! 
} 
+0

你也可以说一些关于构造函数的内容。我不确定OP在那里试图做什么。 –

+0

好的,非常感谢那帮了我很多,所以在这个方法的范围内,我可以放任何东西吗?或者保持空白,因为当我在主类中调用方法时,我会做所有的事情? – noct27

+0

删除无效的返回语句使得所有的编译器错误消失所以,今晚再次阅读构造方法章节以获得更好的理解 – noct27