我有一个需要完成的迷你项目,即为银行建模。银行有分支机构,每个分支机构都要维护一份员工名单。有3种类型的员工,Teller,Clerk和Sales。 在我的Branch类中,我必须创建Staff然后存储它。
在我的Branch类中,我试图调用Clerk构造函数,以便创建我需要的员工,然后我想将此Clerk实例存储到arraylist中:
public void addStaff(String id, String name) {
this.id = id;
this.name = name;
Clerk clerk = new Clerk(id, name);
}
在我的文员课程中是
public Clerk(String id, String name) {
this.id = id;
this.name = name;
}
它似乎正在创建职员实例 加上而不是调用每个实例,clerk1,clerk2等,有没有办法使用传入的名称作为实例名称?
对于数组,我打算将实例推送到它
// constructor
public Branch(String branchName) {
this.branchName = branchName;
ArrayList<Object> staff = new ArrayList<Object>();
答案 0 :(得分:0)
您必须将Clerk实例分配给数组。代码示例可以是
ArrayList<Object> staff = new ArrayList<Object>();
而且你还要检查你的构造函数。 $('#btnTestCore').click(function () {
var urlname = encodeURI("http://clientwebsite.online/api/GetURLName/")
$.ajax({
url: 'http://ajaxserver.com/api/GetURLName?urlname=' + urlname,
dataType: 'json',
type: 'GET',
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
},
error: function (data) {
alert('failed.');
}
});
});
如果您想访问该范围之外的人员内容,则应该是类属性。
答案 1 :(得分:0)
您只需要在Branch中的列表中添加新员工。所以
1)修改addStaff,删除this.id = id和this.name = name。分支机构不需要有员工的详细信息。
2)将员工添加到您在构造函数中创建的数组中。分支机构将填补这位新员工。
结果:
public void addStaff(String id, String name) {
Clerk clerk = new Clerk(id, name);
staff.add(clerk);
}
3,最重要的是)让所有员工(职员,出纳员,销售人员)扩展一个通用的“员工”课程,并在该课程中添加建设者。在这种情况下,您可以在分支中更改人员数组:
private final List<Employee> staff;
public Branch(String branchName) {
this.branchName = branchName;
staff = new ArrayList<Employee>();
}
注意区别。您只在构造函数中创建人员列表,然后引用丢失。 staff数组应该是您的类的属性。那么你可以在你的addStaff方法中使用。