不知道为什么当我在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");
返回类型应该在构造函数上是隐式的,因为您始终知道要构造的类型...。
您的第一个类声明之所以起作用,是因为您声明的方法不是构造函数(因为它都具有返回类型,并且与该类的名称不同),因此将其视为无效的返回类型。