如何在单独的 类 中访问方法
How to access methods in separate classes
我试图在单独的 class 中访问 public 方法,但出于某种原因 Netbeans 找不到它。它们在同一个项目中并打包在一起。错误消息说它正在 class 中寻找它,我从 (Project6) 调用它。关于如何让它在正确的 class (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(int size)
是class HashTable的构造函数,需要用关键字new调用。代码将是:
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();
new HashTable(Integer.parseInt(text)); //error occurs here
}
}
}
public HashTable
不是方法;它是 HashTable
class 的构造函数。如果要创建 HashTable
的实例,可以使用 new
关键字:
HashTable h = new HashTable(Integer.parseInt(text));
如果你想调用一个没有对象实例的方法,你需要声明它static void
:
public static void HashTable(int size) {
arraySize = size;
}
但最好使用其他方法名称。 HashTable
将导致编译器警告,因为它与构造函数名称相同。按照惯例,方法名称应以小写字母开头。
一旦你有了你的静态方法,你就可以像这样从你的另一个class调用它:
HashTable.someMethod(Integer.parseInt(text));
我试图在单独的 class 中访问 public 方法,但出于某种原因 Netbeans 找不到它。它们在同一个项目中并打包在一起。错误消息说它正在 class 中寻找它,我从 (Project6) 调用它。关于如何让它在正确的 class (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(int size)
是class HashTable的构造函数,需要用关键字new调用。代码将是:
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();
new HashTable(Integer.parseInt(text)); //error occurs here
}
}
}
public HashTable
不是方法;它是 HashTable
class 的构造函数。如果要创建 HashTable
的实例,可以使用 new
关键字:
HashTable h = new HashTable(Integer.parseInt(text));
如果你想调用一个没有对象实例的方法,你需要声明它static void
:
public static void HashTable(int size) {
arraySize = size;
}
但最好使用其他方法名称。 HashTable
将导致编译器警告,因为它与构造函数名称相同。按照惯例,方法名称应以小写字母开头。
一旦你有了你的静态方法,你就可以像这样从你的另一个class调用它:
HashTable.someMethod(Integer.parseInt(text));