java - 如何访问单独类中的方法

标签 java class methods packaging

我正在尝试访问单独类中的公共(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/

相关文章:

java - 使用 gradle 为 spring-boot REST 服务运行集成测试

java - java中的回文,要求用户输入不同的输入,直到他们输入stop,该方法应该删除所有空格并使字母小写

ruby 类未定义方法 (NoMethodError)

未调用 C++ 构造函数

Javascript 将对象传递给函数

javascript - 模仿 Javascript 中的类

Java Greenfoot,无法在文件之间链接方法

java - 无法在我的网站中播放 .m4a 或 .3gpp 音频文件

java - Eclipse:无法加载 JNI 共享库

java - Vertx - 使用 OAuth2 保护路由时缺少 GET 参数