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()
      语法仅在构造函数中有效
    • 方法声明需要返回类型和方法名称。在参数列表之前只有一个标识符
    • 您使用的标识符应该是类名(根据Java标识符规则)

    • 1-我不能确定,因为您没有向我们显示带有语法错误的行。或者如果你做了,那么真正的问题是在其他地方。。。我认为真正的问题在于你对方法和构造函数之间的区别感到困惑,你试图像使用方法一样使用构造函数

      您的
      UserNumber
      所谓的方法实际上被声明(正确地!)为构造函数1。用作构造函数的方法如下所示:

        UserNumber myNum = new UserNumber();
      
      我怀疑你是想这样称呼它:

        ... = UserNumber();
      
      。。。如果说
      UserNumber
      是一个无效的方法,那么这将失败。使用
      new
      调用Java构造函数


      有3条线索告诉我OP的代码是一个构造函数:

    • super()
      语法仅在构造函数中有效
    • 方法声明需要返回类型和方法名称。在参数列表之前只有一个标识符
    • 您使用的标识符应该是类名(根据Java标识符规则)


    • 1-我不能确定,因为您没有向我们显示带有语法错误的行。或者如果你做了,那么真正的问题是在其他地方。。。在您尚未向我们展示的代码中。

      如果您不打算返回任何内容,请添加一个返回类型-void。请提供SSCCE。您向我们展示的内容不会生成该错误消息,如果没有完整的类,我们无法确定您应该在此处执行什么操作。@Reimeus构造函数是method:)@MariuszS,但如果您不打算返回任何内容,请添加一个返回类型-void。请提供一个SSCCE。你向我们展示的不会产生这种效果