【问题标题】:Referencing fields from another class引用另一个类的字段
【发布时间】:2015-03-01 00:59:07
【问题描述】:

我在互联网上到处找这个,我需要帮助。

我正在尝试使用我猜想的引用访问另一个类的字段...

例如:

public class Ball {
    String name;
    int size;

    public Ball(String n, int s) {
        this.name = n;
        this.size = s;
    }

现在我想在另一个类中使用大小,例如:

public class Game {
    int length;
    int size; // same as from class Ball

这有效吗?我基本上只想要一个可以通过不同类访问的“大小”字段。我知道这可能是一个非常基本的问题,但我是 java 新手

谢谢

【问题讨论】:

  • 如果你想做这样的事情,通常意味着你的分析有问题:)。你为什么要这样做?有必要吗?如果您真的需要这样做,您应该通过构造函数将Ball 实例提供给Game,并创建用于在Game 中获取大小的方法...但是您应该更具体(问题可能不在共享参数,但你想这样做)
  • 您要使用哪种尺寸的球?
  • 我的实际代码有构造函数和实例。我仍然不知道如何在另一个类中引用该字段
  • @Drake 你使用someVariableWhichHoldsAReferenceToABall.size,将someVariableWhichHoldsAReferenceToABall 替换为包含对球的引用的变量的名称。

标签: java class field


【解决方案1】:

看来你可能想要类似下面的东西

public class Ball {

    private int length;
    private int size;

    // getters/setters
}

public class Game {

    private int length;
    private Ball ball;

    public Game() {

    }

    public Game(int length, Ball ball) {
        this.length = length;
        this.ball = ball;
    }
}

【讨论】:

  • 嘿,非常感谢,我明白了!顺便说一句,空构造函数的意义何在。它只有 public Game() { 和空白的那个? @rick
  • 如果你不定义它,你将被限制只能使用new Game(int, Ball)创建一个新的游戏实例。在这种情况下,您可以使用new Game()new Game(int, Ball) 创建一个新的游戏实例。
猜你喜欢
  • 1970-01-01
  • 2015-01-17
  • 2023-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多