如何从类到私有成员获取信息

  • 本文关键字:成员 获取 信息 java oop
  • 更新时间 :
  • 英文 :


我正在编写一个有几个类的系统。有一个类作为私有字段存储,它是另一个类的实例。第二个类需要知道关于第一个类中的私有字段的信息。这能做到吗?

编辑:我想做一个"房子";这包括房间和人

我组织它的方式是在Room类中有一个People类的实例。但是,存储在房间中的房间号需要为People的每个实例所知。我怎么从房间得到这个信息呢?从更广泛的意义上讲,我如何从类中的私有字段获取信息到另一个类的实例中,该实例存储为类中的私有字段。

一般来说,您希望构建代码,使对象不知道它们的封装器,以避免面条式代码和循环依赖,因此也许您可以重新考虑您的设计。然而,如果一个房间要知道人们,人们要知道他们所在的房间,那么一个直接的方法就是让这两个对象之外的代码来构造它们:

public class House {
    private final Room room1;
    private final Room room2;
    public House() {
        Room room1 = new Room();
        Room room2 = new Room();
        People group1 = new People();
        People group2 = new People();
        group1.setRoom(room1);
        group2.setRoom(room2);
        this.room1 = room1;
        this.room2 = room2;
    }
}
public class People {
    private final Room room;
    public People(Room room) {
        this.room = room;
    }
}

最新更新