簡體   English   中英

使用構造函數創建唯一 ID

[英]Create unique ID with constructor

我想創建具有名稱和唯一 ID 號的對象,該 ID 號隨着每個用戶的創建而增加。

class user {

    static int uid = 0;
    String name;

    public user (String name){
       User.uid = uid++;
       this.name = name;
    }
}

在 main 方法中創建用戶對象並打印出他們的 ID 時,它們都返回 0。我認為有一個簡單的解決方法,但似乎無法在網上的其他地方找到它。

您的代碼有幾個問題:

  1. 用戶沒有任何 ID。 您擁有的只是一個靜態 ID,因此所有用戶都可以共享
  2. 您正在增加靜態 ID,然后立即將其先前的值分配給 ID。
  3. 您不尊重 Java 命名約定。

代碼應該是

class User {

    private static int uid = 0;

    private String name;
    private int id;

    public User(String name) {
       uid++;
       this.id = uid;
       this.name = name;
    }

    // getters
}

或者,如果您希望 ID 從 0 開始:

class User {

    private static int uid = 0;

    private String name;
    private int id;

    public User(String name) {
       this.id = uid++;
       this.name = name;
    }

    // getters
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM