继承案例1
定义PrimaryStudent,从Student继承,并新增一个grade字段:
遇到问题There is no default constructor available in 'com.shujia.day1.Person
package com.shujia.day1;
/**
* 定义PrimaryStudent,从Student继承,并新增一个grade字段:
*/
public class Main {
public static void main(String[] args) {
Person p =new Person("小红",24);
Student s= new Student("小红",22,99);
Student ps=new PrimaryStudent("小军",9,100,5);
System.out.println(ps.getScore());
}
}
class Person {
protected String name;
protected int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void SetNme(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
class Student extends Person {
protected int score;
/*
当子类继承若父类已经有含参构造函数必须对父类进行初始化
否则会出现There is no default constructor available in XXXX的错误
*/
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
class PrimaryStudent extends Student {
int grade;
public PrimaryStudent(String name, int age, int score, int grade) {
super(name, age, score);
this.grade = grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public int getGrade(){
return grade;
}
}