Java 如何从类中获取私人成员的信息?
我正在写一个有几个类的系统。有一个类存储为私有字段,即另一个类的实例。第二个类需要知道关于第一个类中私有字段的信息。这能做到吗 编辑:我想造一座房子;这包括房间和人Java 如何从类中获取私人成员的信息?,java,oop,Java,Oop,我正在写一个有几个类的系统。有一个类存储为私有字段,即另一个类的实例。第二个类需要知道关于第一个类中私有字段的信息。这能做到吗 编辑:我想造一座房子;这包括房间和人 按照我的组织方式,在Room类中有一个People类的实例。但是,存储在房间中的房间号需要每个人都知道。那个么我如何从房间里得到这些信息呢?从更广泛的意义上讲,我如何从类中的私有字段获取信息到另一个作为私有字段存储在类中的类的实例。通常,您希望对代码进行结构化,使对象不知道其封装器,以避免意式代码和循环依赖,因此您可以重新考虑您的设
按照我的组织方式,在Room类中有一个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;
}
}
在第一个类中添加一个getter?您应该在第一个类中编写一个返回私有信息的函数。在只读的基础上这样做,否则你会绕过封装。正如上面的评论所指出的,这个问题可以用多种方式来解释。你能给我们展示一个代码示例来澄清这个问题吗?粗略的问题,你能用ORM来维护你的关系吗?除非您使用@Mena提到的relation,否则您将无法从另一个类访问私有变量