我想创建一个名称和唯一ID号随每个用户的创建而递增的对象。
class user {
static int uid = 0;
String name;
public user (String name){
User.uid = uid++;
this.name = name;
}
}
在主要方法中创建用户对象并打印其ID时,它们都返回0。我认为对此有一个简单的解决方法,但似乎无法在其他地方在线找到它。
答案 0 :(得分:2)
您的代码有几个问题:
代码应为
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
}
答案 1 :(得分:0)
在User.uid = uid++;
中,您首先将0分配给User.uid
,然后增加uid。
您应该这样更改:User.uid = ++uid;