Java 为什么这个方法无效?
它说公共用户号是一个无效的方法。它声明代码部分无效,需要返回类型Java 为什么这个方法无效?,java,bluej,Java,Bluej,它说公共用户号是一个无效的方法。它声明代码部分无效,需要返回类型 public UserNumber(){ super(); randy = new java.util.Random(); } //======================= 我该怎么做才能修好它 在public之后添加void。每个方法都需要一个返回类型,这会将其设置为不返回任何内容。在public之后添加void。每个方法都需要一个返回类型,这会将其设置为不返回任何内容。您缺少返回类型。它必须是vo
public UserNumber(){
super();
randy = new java.util.Random();
} //=======================
我该怎么做才能修好它 在public之后添加void。每个方法都需要一个返回类型,这会将其设置为不返回任何内容。在public之后添加void。每个方法都需要一个返回类型,这会将其设置为不返回任何内容。您缺少返回类型。它必须是void、int或任何对象类型 您缺少返回类型。它必须是void、int或任何对象类型 在Java中,如果不打算返回任何内容,则方法必须具有返回类型(int、Integer、Random)或void。在
public
之后添加void
public void UserNumber() {
...
}
您可能希望创建一个类构造函数,但其名称必须与类名相同。例如:
public class UserNumber {
private final Random randy;
public UserNumber() {
super();
randy = new Random();
}
}
(在这种情况下,可以省略调用super()——无论如何都会执行)
请提供此类的完整代码。在Java中,如果不打算返回任何内容,则方法必须具有返回类型(int、Integer、Random)或void。在
public
之后添加void
public void UserNumber() {
...
}
您可能希望创建一个类构造函数,但其名称必须与类名相同。例如:
public class UserNumber {
private final Random randy;
public UserNumber() {
super();
randy = new Random();
}
}
(在这种情况下,可以省略调用super()——无论如何都会执行)
请提供该类的完整代码。名称应与您的类名相同
public class UserNumber {
public UserNumber() {
super();
randy = new java.util.Random();
}
}
要调用此命令,请使用:newusernumber()
-仅此而已:)
更多:
public class UserNumber {
public UserNumber() {
super();
randy = new java.util.Random();
}
}
要调用此命令,请使用:newusernumber()
-仅此而已:)
更多:
- 调用
super()
让我觉得这应该是一个构造函数。必须调用您的类UserNumber
在这种情况下,您不需要返回类型,因为构造函数总是返回类的新实例
class UserNumber extends ...{
public UserNumber(){
super();
randy = new java.util.Random();
}
...
}
如果它不是构造函数,请不要调用super()
,因为您只能在构造函数中调用它。还要确保您要扩展的类具有无参数构造函数。调用super()
使我认为这应该是一个构造函数。必须调用您的类UserNumber
在这种情况下,您不需要返回类型,因为构造函数总是返回类的新实例
class UserNumber extends ...{
public UserNumber(){
super();
randy = new java.util.Random();
}
...
}
如果它不是构造函数,请不要调用
super()
,因为您只能在构造函数中调用它。还要确保您要扩展的类具有无参数构造函数。除非您的类被调用为UserNumber
,否则您需要在方法声明中添加一个返回类型:
public void UserNumber(){
randy = new java.util.Random();
}
void
作为返回类型,因为该方法不会返回任何内容
相反,如果您希望将其设置为构造函数,则构造函数的名称必须与类的名称相同
class UserNumber extends ...{
public UserNumber(){
super();
randy = new java.util.Random();
}
...
}
除非类被调用为
UserNumber
,否则需要向方法声明中添加一个返回类型:
public void UserNumber(){
randy = new java.util.Random();
}
void
作为返回类型,因为该方法不会返回任何内容
相反,如果您希望将其设置为构造函数,则构造函数的名称必须与类的名称相同
class UserNumber extends ...{
public UserNumber(){
super();
randy = new java.util.Random();
}
...
}
我认为真正的问题是,你对方法和构造函数之间的区别感到困惑,你试图像使用方法一样使用构造函数
您的UserNumber
所谓的方法实际上被声明(正确地!)为构造函数1。用作构造函数的方法如下所示:
UserNumber myNum = new UserNumber();
我怀疑你是想这样称呼它:
... = UserNumber();
。。。如果说UserNumber
是一个无效的方法,那么这将失败。使用new
调用Java构造函数
有3条线索告诉我OP的代码是一个构造函数:
super()
语法仅在构造函数中有效1-我不能确定,因为您没有向我们显示带有语法错误的行。或者如果你做了,那么真正的问题是在其他地方。。。我认为真正的问题在于你对方法和构造函数之间的区别感到困惑,你试图像使用方法一样使用构造函数 您的
UserNumber
所谓的方法实际上被声明(正确地!)为构造函数1。用作构造函数的方法如下所示:
UserNumber myNum = new UserNumber();
我怀疑你是想这样称呼它:
... = UserNumber();
。。。如果说UserNumber
是一个无效的方法,那么这将失败。使用new
调用Java构造函数
有3条线索告诉我OP的代码是一个构造函数:
super()
语法仅在构造函数中有效1-我不能确定,因为您没有向我们显示带有语法错误的行。或者如果你做了,那么真正的问题是在其他地方。。。在您尚未向我们展示的代码中。如果您不打算返回任何内容,请添加一个返回类型-void。请提供SSCCE。您向我们展示的内容不会生成该错误消息,如果没有完整的类,我们无法确定您应该在此处执行什么操作。@Reimeus构造函数是method:)@MariuszS,但如果您不打算返回任何内容,请添加一个返回类型-void。请提供一个SSCCE。你向我们展示的不会产生这种效果