在java中的不同类中通过静态方法设置和获取静态变量值

时间:2013-11-16 20:15:14

标签: java android class static

假设我有3个课程:ADataB

我传递了一个来自A类的变量,该变量将传递的变量设置为类Data的数据public static method中的setData()变量并尝试获取相同的值(我是在课堂上分配class AB使用数据的类method getData()

数据类中的

方法是public and static

  

公共类数据{

     

public static string nameD;

     

public static void setData(String name){nameD = name; }

     

public static String getData(){return nameD; }

     

}

     

公共类A {

     

String nameA =“Test”;

     

Data.setData(NAMEA);   }

     

公共等级B {

     

String nameB;   nameB = Data.getData();   的println(nameB);   }

但是在class B中给出了空字符串。

我该怎么做??

3 个答案:

答案 0 :(得分:1)

只需调用第一个类A来设置类Data的值,然后调用类B来获取数据中的值。

例如:

public class A{
     String nameA="Test";
     public A() {
         Data.setData(nameA);
     }
 }

 public class B{
      String nameB; 
      B() {
         nameB = Data.getData(); 
         System.out.println(nameB); 

      }
 }

 public class Data{

    public static String nameD;

    public static void setData(String name){ nameD = name; }

    public static String getData(){ return nameD; }
  }

然后,如果你做了以下,你将获得你的价值    新的A();    新B();

答案 1 :(得分:0)

您可以传递对象,并在您传递的对象中有一个静态字段。

答案 2 :(得分:0)

这不是有效的代码,因为您无法在任何方法之外执行Data.setData()之类的语句。

如果你把这段代码放在A类的一个方法中,然后以正确的顺序在你的主程序中调用这个方法(在调用getData()之前),那么代码仍然会很混乱,但你应该得到你的期望的结果。