Java教程

10-Java方法重写

本文主要是介绍10-Java方法重写,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

10.1 方法重写基本介绍

方法重写也叫方法覆盖,就是子类有一个方法和父类的某个方法的名称、返回类型、形参都是一样,那么这个子类的方法覆盖了父类的方法。

10.2 方法重写快速入门



这里写了一个Animal类和Dog类,Dog类继承了Animal类,他们里面有一个方法是一摸一样的。

10.3 方法重写注意事项和使用细节

  1. 子类的方法的参数、方法名称要和父类的参数和方法名称完全一样。
  2. 子类方法的返回类型和父类方法的返回类型要一样,或者是父类返回类型的子类。如:父类的返回类型是Object,子类方法的返回类型是String
  3. 子类方法不能缩小父类方法的访问权限。

10.4 方法重写练习

  1. 编写一个Person类,包括属性private(name,age),构造器、方法say(返回子喔介绍的字符串)。
  2. 编写一个Student类,继承Person类,增加private id、score,以及构造器,定义say()方法(返回自我介绍的信息)。
  3. 在main中,分别创建Person和Student对象,调用say()方法输出自我介绍。
package com.edu.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 void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
package com.edu.override_;

public class Student extends Person {
    private int id;
    private double score;
    public String say() {
        return super.say() + "id=" + id + "score=" +score;
    }

    public Student(String name, int age, int id, double score) {
        super(name, age);
        this.id = id;
        this.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;
    }
}
package com.edu.override_;

import javax.swing.plaf.synth.SynthOptionPaneUI;

public class OverrideExercise {
    public static void main(String[] args) {
        Person person = new Person("jack", 30);
        System.out.println(person.say());
        Student student = new Student("smith",19,123456 ,99.8);
        System.out.println(student.say());
    }
}
这篇关于10-Java方法重写的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!