java面向对象学习1

继承案例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;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值