簡體   English   中英

如何從不同的文件調用觀察者方法?

[英]How to call an Observer method from a different file?

我是 Java 新手,一直在嘗試編寫從另一個文件調用的文件。 假設我有文件 A.java 並且它有一個觀察者方法

...

//in Item.java

public class Item{
    private String name;
     
    //parametrized cons
    public Item(String name){
        this.name = name;    
    }

    public String getName(){
        return this.name;
    }
}

讓我們在文件 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());
    }
}

但這沒有用。 我根本無法更改打印的方法(名稱)。 有沒有另一種方法可以做到這一點?

目標:對不起,如果我不清楚,目標是打印項目的名稱。 假設我們已經將一個項目傳遞給 Item.java 類,您將如何打印該項目?

不清楚 B 如何知道給定代碼中的 A,但是您可以在通過構造函數創建new B()時將其傳入

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.print(a_instance)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM