如何将数组元素分配给私有变量并在另一个类中使用它们?

时间:2015-12-02 21:01:08

标签: java arrays constructor

/*
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构造函数的。

2 个答案:

答案 0 :(得分:-1)

'吸气剂'和'塞特斯'用于在Java中封装变量/对象。这意味着(正如您的导师所说),您应该将变量设置为私有,将getters和setter设置为 public

例如:

private String courseTitle;

这个变量只能在类中访问,所以为了能够从类外部(即从你使用CourseList的任何地方)获取这个变量,你需要创建一个 getter < / strong>(获取变量)和 setter (更改变量的值)。如下:

// Getter
public String getCourseTitle() {
    return this.courseTitle;
}

// Setter
public void setCourseTitle(String newCourseTitle) {
    this.courseTitle = newCourseTitle;
}

您可以阅读有关封装here的更多信息。

现在,要检索值,请使用 getter ,如下所示(假设courseInfo是CourseInfo对象):

String data = courseInfo.getCourseTitle();

答案 1 :(得分:-1)

尝试为每个变量创建他的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