如何将值从一个类的方法传递给其他类的方法。哪个用于其他方法?

时间:2015-09-29 14:26:10

标签: java

我试图将值从一个类的方法传递给其他类的方法。在其他一些方法中使用....所有类都在不同的文件中,但是在同一个包中。这可能通过继承(但是所有类都被导入)或其他任何东西......不能直接将值传递给hereToUse() ...试图简化代码以便编写一个虚拟代码

这是一个虚拟代码......(忽略一些基本错误,它是一个虚拟代码......重要的是访问hereToUse()中的值)。提前谢谢..

A.java>>>>>>

class A{
   public String name;  // can't pass value here.... It must be Null
   public void start(){
       B obj = new B();
       name = obj.getValueFrom("XYZ");
   }
   public static void main(String args[]){
       A objA = new A();
       objA.start();
   }
 }

B.java>>>>

class B{
       public String nameB;  // can't pass value here.... It must be Null
       public String getValueFrom(String name){
           nameB = name;
           return nameB;
       }

       public void hereToUse(){
           //System.out.println(getValueFrom("something"));
           //Here i need a value "XYZ" ...
       }
     }

我们只能拨打start()一次...... hereToUse()被其他一些人调用...

这可能吗? ...我是java新手...请帮我解决这个问题
也给我一些解释。

输出为:null

预期输出是XYZ ......

1 个答案:

答案 0 :(得分:0)

第一个问题是您尝试从静态上下文调用成员函数。尝试这样做会导致编译时错误。 this关键字仅存在于非静态上下文中。我相信你希望你的main方法看起来像这样:

public static void main(String args[]) {
    A aInstance = new A();
    aInstance.start();
    System.out.println(aInstance.name);
}

main的第一行,我们创建了A的新实例。然后我们调用start方法,最后将name打印到控制台。