如何从一个类调用方法到另一个类?

时间:2016-11-18 14:21:04

标签: java mysql

所以,我在这个班级工作

Public class Java2MySql {
    public static void main(String[] args) {
        Java2MySql j = new Java2MySql();
        ...
    }
    public static String selectValue() {
        BlackBox blackBox = new BlackBox();
        ...
        switch(case) {
            case "C00":
                caixaNegre.waste();
                break;
        }
    }

另一个班级

public class CaixaNegre{
    public static String waste(){
    ...
    }
}

我认为这是正确的,NetBeans没有显示错误,但是一旦我尝试在终端中运行它以使用我的数据库对其进行测试,它会显示以下消息:

Java2MySql.java:50: error: cannot find symbol
    CaixaNegre caixaNegre = new CaixaNegre();
    ^
symbol:   class CaixaNegre
location: class Java2MySql

为什么?

1 个答案:

答案 0 :(得分:1)

类方法和对象方法之间存在差异。对象是类的实例。因此,为了能够调用对象方法,首先需要该类的实例(对象)。

您的waste()方法是一个静态方法,这意味着它成为一个类方法。要调用类方法,请使用类的全名(区分大小写)+方法名称。

在你的情况下,你应该使用:

CaixaNegre.waste();

而不是

caixaNegre.waste();

记住:一切都是静态的,属于班级。所有不属于的东西都属于班级的一个实例。

但是,做一个类的对象实例,而不是让一切都是静态的,这是一个好习惯。这样,您就可以以面向对象的方式进行编程。

我不确定你在做什么,就像在你的错误中一样,它声明你正在尝试制作类CaixaNegre的实例。在这种情况下,您必须删除方法浪费中的static关键字。

至于你的错误: CaixaNegre类可能在不同的包中吗?如果是的话,你导入了吗?