java - 从其他类访问数据

标签 java class variables private

我是初学者,所以请非常具体。无论如何,我这里有三个代码类,我想从 c-b 然后 b-a 访问数据。

class GoobyPls {
{
    private int CHealth = 20;
    private int MHealth = 20;
    private int CAgility = 10;
    private int MAgility = 10;
    private int CDefence = 5;
    private int MDefence = 5;
}   
}

class Stats {
public static void foo() {
    string Health =  CHealth + "/" + MHealth ;
    string Agility = CAgility + "/" + MAgility;
    string Defence = CDefence + "/" + MDefence;
}

}

class ViewStats {
public static void foo() {
System.out.println("Health");
                System.out.println(Health);
                System.out.println(" ");
                System.out.println("Agility");
                System.out.println(Agility);
                System.out.println(" ");
                System.out.println("Defence");
                System.out.println(Defence);
                System.out.println(" ");
  }
}

所以 GoobyPlsaStatsbViewStatsc

我也不能把它全部放在一个类中,因为最终会有一个修饰类来编辑 CHealthMHealth

最佳答案

在您的类 GoobyPls 中为每个项目添加 getter,如下所示:

class GoobyPls {
{
   private int CHealth = 20;

   public int getHealth(){
      return Chealth;
   }
}

然后在 viewStats 中执行此操作:

GoodyPls gp = new GoobyPls();
System.out.println(gp.getHealth());

当你想使用一个私有(private)变量时,只要调用 getters 即可。或者你也可以定义变量public,这样你就可以直接在viewStats中调用它们。但是从设计的角度来看,getter 和 setter 更好,因为隐藏信息更好。 应将字段声明为私有(private),除非有充分的理由这样做。

关于java - 从其他类访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18271799/

相关文章:

java - 在类中使用构造函数中的变量/数组

Java 类缺少返回语句

c++ - 如何定义一个包含可变维度 vector 的类以及如何使用这个类?

powershell - 我可以在powershell中将一个变量的值调用为另一个变量吗?

Python 查找自己的代码中使用其他变量的位置

java - 使用 Selenium WebDriver 从 Javascript 源中提取变量

java - 在Java中,将原始类型添​​加/减去/乘以/划分为装箱类型是否会创建装箱类型的新对象?

java - ThreadLocal + java.sql.Connection + servlet 过滤器 = 2009?

java - Spring boot只返回一个对象

c++ - 什么时候引用变量合适,为什么?你能解释一下实际的语法和位置吗?