为什么我的Subject作为成员属性会报错?
package com.eros.student;
public class Student {
// 姓名,学号,性别,年龄,所报专业名称,学制年限,学生信息如下:
private String studentname;
private String studentnum;
private String studentsex;
private int age;
private Subject studentSubject;
public Student() {
}
public Student(String studentname, String studentnum, String studentsex, int age) {
this.setStudentname(studentname);
this.setStudentnum(studentnum);
this.setStudentsex(studentsex);
this.setAge(age);
}
public String getStudentname() {
return studentname;
}
public void setStudentname(String studentname) {
this.studentname = studentname;
}
public String getStudentnum() {
return studentnum;
}
public void setStudentnum(String studentnum) {
this.studentnum = studentnum;
}
public String getStudentsex() {
return studentsex;
}
public void setStudentsex(String studentsex) {
this.studentsex = studentsex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Subject getStudentSubject() {
return studentSubject;
}
public void setStudentSubject(Subject studentSubject) {
this.studentSubject = studentSubject;
}
public String output() {
String output = "学生信息如下:\n学生姓名:" + this.getStudentname() + "\n学生学号:" + this.getStudentnum() + "\n学生性别:"
+ this.getStudentsex() + "\n学生年龄:" + this.getAge() + "\n所报专业名称:"
+ this.getStudentSubject().getSubjectname() + "\n学制年限:" + this.getStudentSubject().getSubjectnum();
return output;
}
}package com.eros.subject;
public class Subject {
// 专业名称 专业编号 学制年限,专业信息如下
private String subjectname;
private String subjectnum;
private int subjecttime;
public Subject() {
}
public Subject(String subjectname, String subjectnum, int subjecttime) {
this.setSubjectname(subjectname);
this.setSubjectnum(subjectnum);
this.setSubjecttime(subjecttime);
}
public String getSubjectname() {
return subjectname;
}
public void setSubjectname(String subjectname) {
this.subjectname = subjectname;
}
public String getSubjectnum() {
return subjectnum;
}
public void setSubjectnum(String subjectnum) {
this.subjectnum = subjectnum;
}
public int getSubjecttime() {
return subjecttime;
}
public void setSubjecttime(int subjecttime) {
this.subjecttime = subjecttime;
}
/**
* 专业信息的方法
* @return 返回专业名称,专业编号,学制年限的信息
*/
public String output() {
String output = "专业信息如下:\n专业名称:" + this.getSubjectname() + "\n专业编号:" + this.getSubjectnum() + "\n学制年限:"
+ this.getSubjecttime() + "年";
return output;
}
}package com.eros.test;
import com.eros.subject.*;
import com.eros.student.*;
public class Test {
public static void main(String[] args) {
Subject subject = new Subject("计算机科学系", "C00001", 4);
System.out.println(subject.output());
System.out.println("+++++++++++++++++");
Student student1 = new Student("张三", "00001", "男", 18);
System.out.println(student1.output());
}
}0
收起
正在回答
1回答
Student类中的有参构造方法还应该加入一个Subject对象类型的参数,即
public Student(String studentname, String studentnum, String studentsex, int age,Subject studentSubject)
然后在Test类中,实例化Student的时候,需要将实例化的Subject对象传递进去,即
Student student1 = new Student("张三", "00001", "男", 18,subject);如果还有什么不明白的地方,可以在问答里继续提问,祝学习愉快~
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星