不确定为什么当我在2中编译实例时编译器失败并且3次成功
//Instantiate Class Used To Fill In New Stock Details
CreateStockCodeDetails CreateStockDetailsInput = new CreateStockCodeDetails();
CreateStockDetailsInput.CreateStockCodeDetails(CreateNewStockCode); // (2)
CreateStockDetailsInput.CreateStockDetails(CreateNewStockCode); // (3)
当我将构造函数命名为与该类相同的名称时,它将失败。为什么呢?
class CreateStockCodeDetails extends JFrame implements ActionListener {
public void CreateStockDetails(String StockCode) {
// This works
}
}
class CreateStockCodeDetails extends JFrame implements ActionListener {
public void CreateStockCodeDetails(String StockCode) {
// This fails. Why?
}
}
答案 0 :(得分:4)
您不能在构造函数旁边放置返回类型。在你的第二个类声明中,构造函数只是:
public CreateStockCodeDetails(String StockCode)
{
}
现在你可以通过这样做来创建对象......
CreateStockCodeDetails var = new CreateStockCodeDetails("WTF is a stock code");
返回类型应该隐含在构造函数上,因为你总是知道你正在构造什么类型....
你的第一个类声明是有效的,因为你声明的方法不是构造函数(因为它既有返回类型又与类的名称不同),所以它被视为返回类型为void