我正在编写一个由多个类组成的程序。一个类称为“User”,另一个类称为“userGroup”。我正在尝试从User类导入包含在构造函数中的变量,并在userGroup类中使用它。
我尝试过以下代码:
User userRetrieve = new User();
userRetrieve.User();
这段代码似乎不起作用,虽然我在各种教程中看到过这是从另一个类中检索数据的方法。第二行有“.User()”,因为构造函数也被称为User,但我不确定这是否正确,即使是程序的初始问题仍未保留第一行仍然存在。
我将在两个类中显示代码以获取可能显示我出错的地方的额外信息:
用户类:
public class User {
String username;
String userType;
String name;
public User() {
username = "x";
userType = "y";
name = "z";
}
public String getUsername() {
return username;
}
public String getUserType() {
return userType;
}
public String getName() {
return name;
}
public String setUserType(String admin) {
return userType = admin;
}
}
userGroup类:
import java.util.ArrayList;
public class userGroup {
String User;
ArrayList<User> userArray = new ArrayList<>();
Integer user0;
public void addSampleData() {
userArray.add(new User());
}
public void getUser(User user0) {
user0 = userArray.get(0);
}
public void printusername() {
System.out.println(user0.getUserName()); // x
}
}
我正在尝试在User类的构造函数中使用username和userType变量。
P.S对任何格式/缩进错误表示道歉。
答案 0 :(得分:2)
你有些误解了一些概念。首先,User()
方法是构造函数,因此当您User user = new User()
调用该方法时。我建议对用户类进行此更改
public class User {
private String username;
private String userType;
private String name;
// Use constructor to pass data to your class
public User(String username, String userType, String name) {
this.username = username;
this.userType = userType;
this.name = name;
}
public String getUsername() {
return username;
}
public String getUserType() {
return userType;
}
public String getName() {
return name;
}
public String setUserType(String admin) {
return userType = admin;
}
}
现在您可以创建数组并添加用户,然后检索其信息
List<User> users = new ArrayList<User>();
users.add(new User("x", "y", "z"));
users.get(0).getUsername(); // returns "x"
答案 1 :(得分:1)
制作用户列表
List<User> users = new ArrayList<User>()
添加用户
users.add(new User());
获取用户(列表和数组为零索引)
User user0 = users.get(0);
打印一些属性
System.out.println(user0.getUserName()); // x
答案 2 :(得分:0)
您可以使用在构造函数类中创建的get方法吗?
因此,如果您想获取用户名,而userType只需使用get方法
创建一个新变量User userRetrieve = new User();
String username = userRetrieve.getUsername();
String userType = userRetrieve.getUserType();
或者您也可以直接访问变量:
User userRetrieve = new User();
String username = userRetrieve.username;
String userType = userRetrieve.userType;
答案 3 :(得分:0)
User userRetrieve = new User();
在这一行上,您将实例化一个Person
类型的新对象,
您可以通过调用与此特定类关联的构造函数来执行此操作。
完成此操作后,可以通过调用Person
类中定义的各种方法来访问参数。所以在你的情况下你应该使用userRetrieve.getUsername()
等等。但是你需要在调用类中声明一个变量来存储这些值。