Java 如何从另一个具有值的类调用的另一个类中获取函数资源

Java 如何从另一个具有值的类调用的另一个类中获取函数资源,java,dictionary,pass-by-reference,Java,Dictionary,Pass By Reference,这是基本的,但我对Java真的很陌生。。。 在Controller.class中,我获取启动“boss方法”的值(中心、数据集、k) 此方法调用Main.class中的许多链接方法。我需要的方法之一是pobarvajClusterje: public static Map<String, TockaXY> pobarvajClusterje(List<TockaXY> kmeans, int k) { List<String> barve = new

这是基本的,但我对Java真的很陌生。。。 在
Controller.class
中,我获取启动“boss方法”的值(中心、数据集、k)

此方法调用
Main.class
中的许多链接方法。我需要的方法之一是pobarvajClusterje:

public static Map<String, TockaXY> pobarvajClusterje(List<TockaXY> kmeans, int k) {

    List<String> barve = new ArrayList<>();
    barve.add("Modra");
    barve.add("Rumena");
    barve.add("Zelena");
    barve.add("Rdeca");
    barve.add("Vijola");
    barve.add("Crna");
    barve.add("Oranzna");
    barve.add("Roza");
    barve.add("Rjava");
    barve.add("Siva");

    Map<String, TockaXY> barvniCluster = new IdentityHashMap<>(k);

    for (int d = 0; d < k; d++) {
        barvniCluster.put(barve.get(d), kmeans.get(d));
    }
    return barvniCluster;
}
公共静态映射pobarvajClusterje(列表kmeans,int k){
List barve=new ArrayList();
添加(“Modra”);
添加(“鲁梅纳”);
添加(“Zelena”);
添加(“Rdeca”);
添加(“Vijola”);
添加(“Crna”);
添加(“Oranzna”);
添加(“Roza”);
新增(“Rjava”);
添加(“湿婆”);
Map barvniCluster=新标识HASHMAP(k);
对于(int d=0;d
此方法确实返回

Map<String, TockaXY> barvniCluster = new IdentityHashMap<>(k);
Map-barvniCluster=new-IdentityHashMap(k);
那么,如何在第三个
WebView.class
中获取此映射以对其进行迭代呢? 因为我必须从
Main.class
中的
WebView.class
调用函数,参数来自
Control.class

或者我以错误的方式声明函数?

为了从
Main.class
,调用public static方法,您将在
Control.java
中编写如下内容

public static void main(String[] args) {
    Map<String, TockaXY> output = Main.pobarvajClusterje(argument1, argument2);
}
publicstaticvoidmain(字符串[]args){
映射输出=Main.pobarvajClusterje(argument1,argument2);
}
根据包的排列,您可能需要在当前类中导入
Main
才能调用我前面提到的方法


例如,
main
方法,您当然可以从
Control
类中的任何方法内部调用。

感谢链接的可能副本,它会清除一点,但我仍然不知道如何实际实现。。。我必须使用Control.class中的参数从Main.class中的WebView.class调用函数,就像这次Eclipse很高兴:Map output=Main.pobarvajClusterje(Main.kmeans(centers,dataset,k),k);像这样,我在方法中得到了值,但现在我必须在WebView类中得到它来迭代结果。因为我不能用SampleController.output获取它;这是因为
output
不是
SampleController
中的静态变量。您可以执行类似于
公共静态映射输出
的操作,并使用此
输出
变量来分配和重用方法输出中的值。但是,为了更清楚地理解Java语言结构,我强烈建议在开始复杂的TODO之前阅读一本好书。
public static void main(String[] args) {
    Map<String, TockaXY> output = Main.pobarvajClusterje(argument1, argument2);
}