簡體   English   中英

如何在Java中同一包中的不同文件上從一個類訪問另一個類的變量

[英]How to access a variable from one class into another class on different files in same package in java

我有文件Sender.java和另一個Receiver.java。 在文件Main.java的主類中,我為兩者創建了一個對象。 我想將Sender類中的變量訪問到Receiver類中。 最簡單的方法是什么 我將Sender類擴展到了我的接收器類上,它達到了目的。 盡管有其他方法嗎?

Main.java

class Main{
    public static void main(String args[]){

        Sender sender=new Sender();
        Receiver receiver=new Receiver();
        sender.show();
        receiver.show();


    }
}

發件人

class Sender{

    static int val=0;
    public void show(){

        System.out.println("Sender value="+val);
        val++;  
    }

}

接收器

class Receiver{
    public void show(){
        System.out.println("Receiver value="+val);  
    }
}

如前所述,getter和setter應該是您的答案。 為什么要使用getter和setter / accessor? 解釋了它們的目的。

最簡單的方法是將變量公開。 盡管如果這些類在同一包中,則不必這樣做。
這里更重要的問題是-您需要將Sender實例傳遞給Recevier
您還需要了解是否要使變量靜態。 我的猜測-不是靜態的(因此每個Sender實例都有一個不同的變量副本)

class Sender{

    public int val=0;
    public void show(){

        System.out.println("Sender value="+val);
        val++;  
    }

}

class Receiver{
    public void show(Sender s){
        System.out.println("Receiver value="+s.val);  
    }
}

class Main{
    public static void main(String args[]){

        Sender sender=new Sender();
        Receiver receiver=new Receiver();
        sender.show(sender);
        receiver.show();


    }
}

暫無
暫無

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

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