Java 如何从不同的文件调用观察者方法?

Java 如何从不同的文件调用观察者方法?,java,Java,我是Java新手,一直在尝试编写一个从另一个文件调用的文件。假设我有一个文件A.java,它有一个observer方法 假设在文件B.java中,我想打印所有Item.names,我想应该是这样的 //in Bag.java public class Bag { private int size; public void print(){ // this does not work System.out.println(Item.getNam

我是Java新手,一直在尝试编写一个从另一个文件调用的文件。假设我有一个文件A.java,它有一个observer方法

假设在文件B.java中,我想打印所有Item.names,我想应该是这样的

//in Bag.java
public class Bag {
    private int size;

    public void print(){
        // this does not work 
        System.out.println(Item.getName());
    }
}
但这不起作用。我根本无法更改print的方法名。还有别的办法吗


目标:抱歉,如果我不清楚,目标是打印项目名称。假设我们已经向item.java类传递了一个项,您将如何打印该项?

不清楚B如何知道给定代码中的A,但您可以在通过构造函数创建新B时传递它

//in B.java
public void print(){
    System.out.println(new A().getName());
}
public class B {
  private A a;

  public B(A a) {
     this.a = a;
  }  

  public void print() {
    System.out.println(this.a.getName());
  }
}
或者您可以在B中定义一个接受a实例的静态方法

public static void print(A a) {
   System.out.println(a.getName());
}

并调用B.printa_instance

请显示这两个文件的全部内容。如前所述,观察者并非如此shown@OneCricketeer Updated@Progman对不起,我们还在弄清楚语言的定义。我再次更新了它,目标是打印从Bag.java传递到item.java的项目。您需要一个包来保存某些项目。你打算怎么做?换句话说,.getName是一个实例方法。您需要一个新项目的实例。在你的代码中,你在哪里这样做?所以在我的A文件中,我有一个参数化构造函数Ainput,input,input当我做新的A.getName时,它要求我重新输入3个inputsso你可以像这个新的Asome字符串值一样传递它们,12,true,只要确保你是根据数据类型传递值,谢谢。
public static void print(A a) {
   System.out.println(a.getName());
}