繁体   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