我正在尝试访问单独类中的公共(public)方法,但由于某种原因 Netbeans 找不到它。它们位于同一个项目中并打包在一起。错误消息表明它正在我调用它的类(Project6)中寻找它。关于如何让它在正确的类(HashTable)中查找有什么想法吗?
class HashTable {
//.....
public HashTable(int size) {
arraySize = size;
}
}
public class Project6 implements ActionListener {
//.....
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == hashButton) {
text = hashSizeField.getText();
HashTable(Integer.parseInt(text)); //error occurs here
}
}
}
最佳答案
public HashTable
不是方法;它是 HashTable
类的构造函数。如果您想创建 HashTable
的实例,可以使用 new
关键字来实现:
HashTable h = new HashTable(Integer.parseInt(text));
<小时/>
如果您尝试在没有对象实例的情况下调用方法,则需要将其声明为 static void
:
public static void HashTable(int size) {
arraySize = size;
}
但最好使用其他方法名称。 HashTable
将导致编译器警告,因为它与构造函数名称相同。按照惯例,方法名称应以小写字母开头。
一旦有了静态方法,您就可以从其他类中调用它,如下所示:
HashTable.someMethod(Integer.parseInt(text));
关于java - 如何访问单独类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37356365/