【问题标题】:Can I use One object at 3 or more class?我可以在 3 个或更多类中使用一个对象吗?
【发布时间】:2017-09-07 11:27:50
【问题描述】:

在-android 编程,

我有一个问题,我需要在 3~ 更多类中使用 One 对象。

首先,我在 A 类创建关于角色类的对象。

这是示例。

  • 类字符.java

    Character(int food, int water, String ch_name, int health_num) {
        health = health_num;
        name = ch_name;
        use_food = food;
        use_water = water;
    }
    
  • 类 A.java

    Character ch1 = new Character(10,10,"hi,10);
    
  • 类 B.java

如何在 B 类中使用“ch1”对象??

请帮帮我..

【问题讨论】:

  • 还有一个问题 :( Class B.java 是一个 Fragment 而 Class A 是一个 android Activity。

标签: java android class object


【解决方案1】:

有很多方法可以做到这一点,简单的事情是你可以在class A中创建一个方法myChar(),它返回Character对象,如下所示:

public class A {

  public Character myChar() {
  Character ch1 = new Character(10,10,"hi",10);// " not closed in your code, ensure
    return ch1;//return ch1
  }
}


public class B {

  public Character myBMethod() {
     A a = new A();
     Character ch1 = a.myChar();//call myChar() method and collect ch1 
  }
}

另外,作为旁注,始终保持构造函数参数名称与实例变量相同,并使用this 运算符,如下所示,以便代码清晰:

public Character(int health, int name, String use_food, int use_water){
        this.health = health_num;//use this operator
        this.name = ch_name;
        this.use_food = food;
        this.use_water = water;
    }

【讨论】:

    【解决方案2】:

    1.您可以通过意图传递对象,尽管您可能需要使对象可打包。

    2.你也可以像firebase这样在线创建一个数据库,你可以从任何类中引用

    3. 或者,如果您不想学习 parcelable,您可以通过像

    这样的意图传递对象的属性
    Intent i = new Intent(this, ToClass.class);
    i.putExtra("healthNum", object.getHealthNum);
    //do this for all the fields
    startActivity(i); 
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 2017-06-17
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多