Java 令人困惑的例子

Java 令人困惑的例子,java,Java,不知道为什么当我做一个例子,如2,编译器失败,3成功 //Instantiate Class Used To Fill In New Stock Details CreateStockCodeDetails CreateStockDetailsInput = new CreateStockCodeDetails(); CreateStockDetailsInput.CreateStockCodeDetails(CreateNewStockCode); // (2) CreateStockDeta

不知道为什么当我做一个例子,如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");
返回类型应该是隐式的,因为您总是知道要构造什么类型


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

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

public CreateStockCodeDetails(String StockCode)
{

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

CreateStockCodeDetails var = new CreateStockCodeDetails("WTF is a stock code");
返回类型应该是隐式的,因为您总是知道要构造什么类型



您的第一个类声明之所以有效,是因为您声明的方法不是构造函数(因为它都有一个返回类型,并且与类的名称不同),所以它被视为void返回类型。

使用`标点符号将代码放入其中。我们现在无法阅读。在他的例子中,他会在每行代码前面使用四个空格,而不是背景符号(
)。代码块使用四个空格,变量名如
foo`使用反勾号。这些不是构造函数。这些都是方法。代码看起来还不错(C#风格除外,它让Java开发人员感到困惑;变量和方法名应该以小写开头)。你发布的是实际的代码吗?我建议你阅读一些关于构造函数的文章,因为你显然把它们和方法混淆了,所以你甚至不能正确地表达你的问题。在您真正开始编写代码之前,阅读Java命名约定也是值得的,因为它将使您的代码更加清晰。变量名不能以大写字母开头,也不能将类命名为“CreateSomething”,而是根据其实际用途将其命名为SomethingCreator或只是Something。我们现在无法阅读。在他的例子中,他会在每行代码前面使用四个空格,而不是背景符号(
)。代码块使用四个空格,变量名如
foo`使用反勾号。这些不是构造函数。这些都是方法。代码看起来还不错(C#风格除外,它让Java开发人员感到困惑;变量和方法名应该以小写开头)。你发布的是实际的代码吗?我建议你阅读一些关于构造函数的文章,因为你显然把它们和方法混淆了,所以你甚至不能正确地表达你的问题。在您真正开始编写代码之前,阅读Java命名约定也是值得的,因为它将使您的代码更加清晰。变量名不能以大写字母开头,也不能将类命名为“CreateSomething”,而是根据其实际用途命名为SomethingCreator或其他名称。构造函数不能有返回类型,因为。。。它会返回什么?你用“new”调用一个构造函数,没有地方接受返回的值。他把它们作为方法调用。BalusC解释了什么?据我所知,他的(Stephen的)类声明仍然是错误的,原因正是我解释的。。。。请详细说明在构造函数声明之前放置一个void返回类型是如何正确的??他根本没有声明构造函数。他正在声明方法。他只是错误地用大写字母给它们命名。我认为他引用的方法不正确。看看他的前3行代码。他只调用默认构造函数,然后调用方法。我已经投票决定结束这个问题,因为它真的不清楚而且很糟糕。构造函数不能有返回类型,因为。。。它会返回什么?你用“new”调用一个构造函数,没有地方接受返回的值。他把它们作为方法调用。BalusC解释了什么?据我所知,他的(Stephen的)类声明仍然是错误的,原因正是我解释的。。。。请详细说明在构造函数声明之前放置一个void返回类型是如何正确的??他根本没有声明构造函数。他正在声明方法。他只是错误地用大写字母给它们命名。我认为他引用的方法不正确。看看他的前3行代码。他只调用默认构造函数,然后调用方法。我已经投票结束了这个问题,因为它确实是不清楚和糟糕的。