我在理解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部分。