CreateStockCodeDetails

CreateStockCodeDetails

不知道为什么当我在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
    }
}

最佳答案

您不能在构造函数旁边放置返回类型。在您的第二个类声明中,构造函数将为:

public CreateStockCodeDetails(String StockCode)
{

}


现在您可以通过执行以下操作创建对象...

CreateStockCodeDetails var = new CreateStockCodeDetails("WTF is a stock code");


返回类型应该在构造函数上是隐式的,因为您始终知道要构造的类型...。

您的第一个类声明之所以起作用,是因为您声明的方法不是构造函数(因为它都具有返回类型,并且与该类的名称不同),因此将其视为无效的返回类型。

09-30 20:56