[英]How to assign array elements to private variable and use them in another class?
/*
c - csis
a - acct
b - busn
p - phys
*/
class CourseInfo {
private String courseTitle;
private double coursePrice;
private int courseSeatsAvail;
private String courseDesc;
private char courseType;
private static String empPassword;
CourseInfo(String crseTitle, double crsePrice, int crseSeats, String crseDesc, char type) {
courseTitle = crseTitle;
coursePrice = crsePrice;
courseSeatsAvail = crseSeats;
courseDesc = crseDesc;
courseType = type;
}
/*
* Finish the class with the set/get methods
*/
}
///////////////////////////////
class CourseList {
CourseInfo[] courseList;
public void createList() {
courseList = new CourseInfo[11];
courseList[0] = new CourseInfo("acct110", 375.49, 35, "this course teaches \nbasic accounting practice", 'a');
courseList[1] = new CourseInfo("busn110", 375.49, 35, "this course teaches \nbasic business pratice", 'b');
courseList[2] = new CourseInfo("busn240", 375.49, 35, "this course teaches \nadvance business pratice", 'b');
courseList[3] = new CourseInfo("csis110", 375.49, 2, "this course teaches \nbasic computing pratice", 'c');
courseList[4] = new CourseInfo("csis220", 375.49, 35, "this course teaches \nR language", 'c');
courseList[5] = new CourseInfo("csis290", 375.49, 25, "this course teaches \nbasic hardware pratice", 'c');
courseList[6] = new CourseInfo("csis340", 375.49, 35, "this course teaches \nadvance CPU tech", 'c');
courseList[7] = new CourseInfo("csis420", 375.49, 17, "this course teaches \nbasic computer graphics", 'c');
courseList[8] = new CourseInfo("csis491", 375.49, 3, "this course teaches \nbasic game programming", 'c');
courseList[9] = new CourseInfo("phys120", 499.19, 30, "this course teaches \nbasic physics theory", 'p');
courseList[10] = new CourseInfo("phys240", 399.99, 35, "this course teaches \nbasic quantum mechanics", 'p');
}
}
我正在尝试从其他.java文件访问CreateList中的数据,但我的讲师希望我使用私有变量,集合和获取以这种特定方式进行操作,但我不知道如何进行。 我知道如何创建基本集合和获取,但是我不了解它们与CourseInfo构造函数一起使用的含义。
'Getters'和'setters'用于封装Java中的变量/对象。 这意味着(如您的讲师所说),您应该将变量设为private,而将getters和setters设为public 。
例如:
private String courseTitle;
该变量只能在该类中访问,因此,要想从该类外部获取该变量(即,从使用CourseList
任何位置),都需要创建一个getter (获取变量)和一个setter (以更改变量的值)。 如下:
// Getter
public String getCourseTitle() {
return this.courseTitle;
}
// Setter
public void setCourseTitle(String newCourseTitle) {
this.courseTitle = newCourseTitle;
}
您可以在此处阅读有关封装的更多信息。
现在,要获取值,请使用getter ,如下所示(假设courseInfo是CourseInfo对象):
String data = courseInfo.getCourseTitle();
尝试为每个变量创建自己的set和get方法,例如:private String courseTitle;
public String getCourseTitle() {
return courseTitle;
}
public void setCourseTitle(String courseTitle) {
this.courseTitle = courseTitle;
}
在CourseList
类中,尝试像这样设置courseTitle
的值:
setCourseTitle("value of courseTitle");
比您可以像这样得到它:
String var = getCourseTitle();
并使用您要在何处添加的值,例如,将其添加到courseList
数组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.