标题可能是一团糟,但我不知道如何更好地描述它。
基本上,假设我有一个抽象的超类 Person
包含名称、年龄和id的,以及从 Person
, Members
.
我想要一个局部变量 Members
存储从这个类创建了多少个对象,并将其分配给id变量。i、 我从中创建了两个对象 Members
,m和m1。我想为它们自动分配id,每次创建一个对象时,id都会增加1。
Members m = new Member("Name"); Members m1 = new Member("Name2");
然后我调用打印id的方法,每个对象两次。
m's ID is 1. m1's ID is 2
我准备用一个局部变量, int numberOfObjects = 1;
以及 objectID;
,并尝试了一种新的方法 SetNumber()
{ objectID = numberOfObjects;
numberOfObjects++; }
但是,每次我创建一个新对象,并调用显示其id的方法时,它都会将其设置回1。
那么,我可以创建一个本地对象吗?它不会在每次创建新对象时重置吗?谢谢。
2条答案
按热度按时间omqzjyyz1#
您不必迭代您的子对象,只需为它们创建一个构造函数,该构造函数将隐式地为它们分配一个唯一的id。
这将为您创建的每个对象创建一个唯一的id。看到了吗https://docs.oracle.com/javase/7/docs/api/java/util/uuid.html
rjee0c152#
我只需要在变量名之前添加static。感谢图灵85的回答。https://stackoverflow.com/users/4216641/turing85
其他答案也很有见地。