点我

基本概述

如果子类有一个方法和父类中方法的名称、参数、返回类型都一样,那么我们就称子类的这个方法覆盖了父类的那个方法。

案例

animal类

package com.xbxaq.override;

public class Animal {
    public void cry(){
        System.out.println("动物在叫...");
    }
}

dog类

package com.xbxaq.override;

public class Dog extends Animal{
    public void cry(){
        System.out.println("狗在叫...");
    }
}

override类

package com.xbxaq.override;

public class Override01 {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.cry();
    }
}

重写与重载区别

练习

题目

2.编写一个Person类,包括属性/private (name、age) ,构造器、方法say(返回自我介绍的字符串)
1.编写一个Student类,继承Person类,增加id、score属性/private,以及构造器,定义say方法(返回自我介绍的信息)。
3.在main中,分别创建Person和Student对象,调用say方法输出自我介绍

person类

package com.xbxaq.override;

public class Person {
    private String name;
    private int age;
    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }
    public String say(){
        return "name: " + name + ", age: " + age;
    }


    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Student类

package com.xbxaq.override;

public class Student extends Person{
    private int id;
    private double score;

    public Student(String name, int age, int id, double score) {
        super(name, age);
        this.id = id;
        this.score = score;
    }
    public String say(){
        return super.say() + "id: " + id + ", score: " + score;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
}

Override类

运行结果:

分类: JAVA

评论

-- 评论已关闭 --

目录