在构造函数中自动初始化int messageID

I.A*_*hev 0 java constructor final

如何在Java中将构造函数中的最终int初始化为比前一个实例大1并且我可以这样做吗?我的意思是我有一个final int messageID;必须对每个实例都是唯一的,我该怎么做?

Ray*_*Ray 5

保持一个

private static final AtomicInteger NEXT_MESSAGE_ID = new AtomicInteger();
Run Code Online (Sandbox Code Playgroud)

然后在你的构造函数中做

this.messageId = NEXT_MESSAGE_ID.getAndIncrement();
Run Code Online (Sandbox Code Playgroud)