Java 从另一个类调用方法会在该语句处停止

Java 从另一个类调用方法会在该语句处停止,java,methods,call,Java,Methods,Call,我真的不明白我的程序是怎么回事。我从[另一个类]调用一个方法,不知何故[调用该方法的类]在调用的地方停止工作,并且不执行程序的其余部分 也没有出现错误,只是没有运行其余的(用print语句检查) 这是我的密码: 类调用该方法 具有该方法的类 考虑到您提供的代码,我非常确定Banana中的main方法会被执行,而不是您实际想要执行的代码。只需删除Banana中的main方法,然后重新运行测试。当然:添加System.out.println(“开始”)作为main中的第一行 以下是仅用于文档编制的M

我真的不明白我的程序是怎么回事。我从[另一个类]调用一个方法,不知何故[调用该方法的类]在调用的地方停止工作,并且不执行程序的其余部分

也没有出现错误,只是没有运行其余的(用print语句检查)

这是我的密码:

类调用该方法

具有该方法的类


考虑到您提供的代码,我非常确定
Banana
中的
main
方法会被执行,而不是您实际想要执行的代码。只需删除
Banana
中的
main
方法,然后重新运行测试。当然:添加
System.out.println(“开始”)
作为
main
中的第一行

以下是仅用于文档编制的MWE:

public class Main implements Foo {
    public static void main(String... args) {
        Banana ban = new Banana();
        String[] listOfBananas = ban.getBananas();
        System.out.println("I didnt get to this statement");
    }
}

class Banana {
    public static String[] giveOtherClassList;

    public Banana() {
    }

    public String[] getBananas() {
        return giveOtherClassList;
    }
}

这个程序产生输出
我没有得到这个语句,它显然是不正确的,因此程序工作:)

你可能已经用打印语句检查了
。。。但是您是否实际调试了
?是否您正在执行
Banana
中的
main
方法,而不是您实际想要执行的
main
方法?此外,您还有一些语法错误
Banana-ban=…
->
Banana-ban=…
giveOtherclassList
在类之外声明)giveOtherclassList数组是在类香蕉之外声明的吗?哎呀,这是一个输入错误编辑的。香蕉内的主方法只是为了测试目的,我有另一个主方法,但我将尝试将其作为一个方法,以查看是否需要显示包含正在运行的过程的整个类。我有3个类:一个类使用主方法调用第一段代码,第二个类使用数组,第三个类从服务器创建数组。香蕉的主要功能是测试与服务器的连接,并确保服务器正在接收数据以放入数组。创建新香蕉并获取香蕉列表实际上是在另一个方法中进行的,该方法是从Monkey类调用的;因此,主要方法在monkey类中,但是,您的解决方案可能会起作用。谢谢@布莱恩,这其实并不重要。您的核心问题是执行错误的
main
方法。
public class Banana {
    public static String[] giveOtherClassList;

    public Banana(){
    }

    public static void main(String[] args) {
        StringBuilder a = new StringBuilder();
        a.append("text text1 text2 text3");
        giveOtherClassList = a.toString().split(" "); //Split will create an array
    }

    public String[] getBananas() {
        //I know this method works because I ran this program with
        //giveOtherClassList[3] and it returned the correct value
        return giveOtherClassList;
    }
}
public class Main implements Foo {
    public static void main(String... args) {
        Banana ban = new Banana();
        String[] listOfBananas = ban.getBananas();
        System.out.println("I didnt get to this statement");
    }
}

class Banana {
    public static String[] giveOtherClassList;

    public Banana() {
    }

    public String[] getBananas() {
        return giveOtherClassList;
    }
}