我在理解Java类时遇到一些麻烦。

例如,您如何像这样在助手类中声明“Inputter”?

public class Helper
{
     public void Helper(String z)
     {
          if(z.length() == 0)
          {
               System.out.println("You can't leave it blank!");
               System.exit(1);
               System.out.println("It's not working... ;(");
          }
     }

     public void Inputter(int a)
     {
          // blah blah
     }
}

你会这样称呼吗?
Helper x = new Inputter();

请帮助,不,这不是作业问题。

谢谢,
面带微笑

编辑:这是正确的:
public class Helper
{
     public Helper(String z)
     {
          if(z.length() == 0)
          {
               System.out.println("You can't leave it blank!");
               System.exit(1);
               System.out.println("It's not working... ;(");
          }
     }

     public void Inputter(int a)
     {
          // blah blah
     }
}

并声明为:
Helper x = Helper();

并感谢大家对StackOverflow的热情欢迎! :D

最佳答案

您的问题不在于类,而在于构造函数和方法,以及它们之间的区别。

方法可以具有您喜欢的任何名称,它们必须声明一个返回类型(可能是void),并且它们的调用方式如下:

ReturnType r = methodName(param1, param2)

构造函数用于创建类(对象)的实例。它们必须与类具有相同的名称,不能具有返回类型(甚至不能是void),并且它们的调用方式如下:
MyClass m = new MyClass(param1, param2);

您的代码中存在几个问题:
  • Helper具有正确的构造函数名称,但由于它声明了void返回类型,因此编译器会将其视为方法。
  • Inputter甚至没有正确的构造函数名称。要将其用作new的构造函数,它必须是名为Inputter的类的一部分

  • 也许您应该开始阅读Java教程的introduction to OO部分。

    07-26 06:26