早教吧 育儿知识 作业答案 考试题库 百科 知识分享

2.完成下面父类及子类的声明(1)声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总2.完成下面父类及子类的声明(1)声明Student类属性包括学号、姓名、英语成绩、数学

题目详情
2.完成下面父类及子类的声明 (1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总
2.完成下面父类及子类的声明
(1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩.方法包括构造方法、get方法、 set方法、toString方法、equals方法、compare方法(比较两个学生的总成绩,结果分为大于、小于、等于),sum方法(计算总成绩)和testScore方法(计算评测成绩).
注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此,在每一个set方法中应调用sum方法计算总成绩.
(2)声明StudentXW(学习委员)类为Student类的子类.
在StudentXW类中增加责任属性,并重写testScore方法(评测成绩=三门课平均分+3)
(3)声明StudentBZ类为Student类的子类
在StudentBZ类中增加责任属性,并重写testScore方法(评测成绩=三门课平均分+5)
4)声明测试类,生成若干个Student类、StudentXW类及StudentBZ类对象,并分别计算它们的评测成绩(建议采用:写一个测试函数,该函数以父类student数组作为参数) .
▼优质解答
答案和解析
写好了给你了
public class Student implements Comparable{
public Student(String no, String name) {
this.no = no;
this.name = name;
}
public Student() {
}
public Student(String no, String name, double english, double maths,
double computer, double sum) {
this.no = no;
this.name = name;
this.english = english;
this.maths = maths;
this.computer = computer;
this.sum = sum;
}

private String no;
private String name;
private double english;
private double maths;
private double computer;
private Double sum=0.0;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
sum+=english;
}
public double getMaths() {
return maths;
}
public void setMaths(double maths) {
this.maths = maths;
sum+=maths;
}
public double getComputer() {
return computer;
}
public void setComputer(double computer) {
this.computer = computer;
sum+=computer;
}
public Double getSum() {
return sum;
}
public void setSum(Double sum) {
this.sum = sum;
}
public String toString() {
return "学号:"+no+"姓名"+name+"英语"+english+"数学"+maths+"计算机"+computer+"总成绩"+sum;
}
public int compareTo(Object o) {
return sum.compareTo(((Student)o).getSum());
}
public Double sum(){
return english+maths+computer;
}
public Double testScore(){
return sum/3;
}
}
public class StudentXW extends Student{
public StudentXW(String no, String name) {
super(no,name);
}
public StudentXW() {
super();
}
private String duty;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
public Double testScore() {
return super.testScore()+3;
}
}
public class StudentBZ extends Student{
public StudentBZ(String no, String name) {
super(no,name);
}
public StudentBZ() {
super();
}
private String duty;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
public Double testScore() {
return super.testScore()+5;
}
}
public class Test {
public static void main(String[] args) {
Student student1=new Student("001","1");
student1.setEnglish(60.0);
student1.setMaths(60.0);
student1.setComputer(60.0);
System.out.println(student1+"测试成绩是"+student1.testScore());
Student student2=new StudentXW("002","2");
student2.setEnglish(70.0);
student2.setMaths(70.0);
student2.setComputer(70.0);
System.out.println(student2+"测试成绩是"+student2.testScore());
Student student3=new StudentBZ("003","3");
student3.setEnglish(80.0);
student3.setMaths(80.0);
student3.setComputer(80.0);
System.out.println(student3+"测试成绩是"+student3.testScore());
}
}
看了 2.完成下面父类及子类的声明...的网友还看了以下:

英语翻译新人类语言交流会各位学习外语的朋友是不是在学习外语的过程中碰到无法用外语自由交流的问题呢?  2020-05-24 …

以人类语言为其研究对象的科学是()。A.语言学B普通语言学B.应用语言学C.人类语言学  2020-05-31 …

各类词语三国故事题目名写人心情神态的成语三十六计中的计名写景词语品质词语12反义12反义34反义1  2020-06-13 …

马在4000年前就被人类驯服了.马在古代曾是农业生产、交通运输和军事等活动的主要动力.与成语“老马  2020-07-24 …

按要求写出各类成语各三个。1、表示“团结一致”的成语:2、表示思想集中的成语:3、描写课堂上讨论场  2020-07-24 …

我现在中三,英语语法一点都不会,想重新开始学,有什么推荐的书吗因为要高复考大专,但是英语基础一点都不  2020-11-14 …

高中英语语法分类总结与单词用法比较单词的意思及用法比较英语语法分类总结短语的比较及总结  2020-11-29 …

求一篇有关学英语的书信类英语作文,求一篇有关学英语的书信类英语作文,内容是我刚上高中,英语学习差,后  2020-12-04 …

若电脑有智能,那么它到底该如何理解人类语言的?或自然语言概念或文字的语义,如何才能被计算机所理解?进  2020-12-09 …

1、欲济无楫(打一场景类成语)2、济人急难(打《水浒传》人名一)1、欲济无楫(打一场景类成语)2、济  2020-12-19 …