它表示公共用户号码是无效的方法。它声明代码的一部分无效,需要返回类型。
public UserNumber(){
super();
randy = new java.util.Random();
} //=======================
我该怎么做才能修复它?
答案 0 :(得分:2)
在Java方法中,如果不打算返回任何内容,则必须具有返回类型(int,Integer,Random)或void。在public
之后添加无效。
public void UserNumber() {
...
}
您可能想要创建类构造函数,但其名称必须与类名相同。例如:
public class UserNumber {
private final Random randy;
public UserNumber() {
super();
randy = new Random();
}
}
(在这种情况下,可以省略调用super() - 无论如何都要执行)
请提供此课程的完整代码。
答案 1 :(得分:1)
Constructor名称应与您的班级名称相同!
public class UserNumber {
public UserNumber() {
super();
randy = new java.util.Random();
}
}
要调用此special method使用:new UserNumber()
- 这就是全部:)
更多:
答案 2 :(得分:1)
除非您的班级被称为UserNumber
,否则您需要在方法声明中添加返回类型:
public void UserNumber(){
randy = new java.util.Random();
}
void
作为返回类型,因为该方法不会返回任何内容。
如果你想让它成为构造函数,那么构造函数的名称必须与类相同。
class UserNumber extends ...{
public UserNumber(){
super();
randy = new java.util.Random();
}
...
}
答案 3 :(得分:0)
公开后添加无效。每个方法都需要一个返回类型,这会将其设置为不返回任何内容。
答案 4 :(得分:0)
您缺少返回类型。它必须是void,int或任何对象类型。
答案 5 :(得分:0)
对super()
的调用让我觉得这应该是一个构造函数。您的班级必须被称为UserNumber
在这种情况下,您不需要返回类型,因为构造函数总是返回该类的新实例。
如果它不是构造函数,请删除对super()
的调用,因为您只能在构造函数中调用它。还要确保您扩展的类具有无参数构造函数。
答案 6 :(得分:0)
我认为 1 真正的问题是你对方法和构造函数之间的区别感到困惑,并且你试图使用一个构造函数,就好像它一样是一种方法。
您的UserNumber
所谓的方法实际声明(正确!)作为构造函数 1 。使用方法是作为构造函数如下:
UserNumber myNum = new UserNumber();
我怀疑你试图把它称为:
... = UserNumber();
......那将会失败,说UserNumber
是一种无效的方法。使用new
调用Java构造函数。
有三条线索告诉我OP的代码意图是构造函数:
super()
语法仅在构造函数中有效。1 - 我无法确定,因为您没有向我们显示语法错误的行。或者,如果你这样做了,那么真正的问题就是其他地方...在你没有向我们展示过的代码中。