java中方法的重写

本文主要讲述java中方法重写的细节

vip

代码结构如图:

  Animal类:

public class Animal {
    private String name;
    protected int age;
    int weight;
    private int height;

    public Animal() {
    }

    public Animal(String name, int age, int weight, int height) {
        this.name = name;
        this.age = age;
        this.weight = weight;
        this.height = height;
    }

    public void eat(String name){
        System.out.println(name +" animal在吃东西...");
    }

    private Object info(){
        return name+","+weight+","+age;
    }
}

  Dog类:

public class Dog extends Animal{
    private String brand;

    public Dog (){
        super();
    }

    public Dog(String name, int age, int weight, int height, String brand) {
        super(name, age, weight, height);
        this.brand = brand;
    }

    // 重写细节1:
    // 子类的方法名和形参列表要和父类的完全相同。
    public void eat(String name){
        System.out.println(name + " dog在吃东西...");
    }

    // 重写细节2:
    // 子类的方法返回类型可以与父类相同,或者是父类返回类型的子类。
    public String info(){
        return brand;
    }

    // 重写细节3:
    // 子类方法不能缩小父类方法的访问权限。
    // public > protected > 默认 > private

}

  Test类;

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat("Tom");

    }
}

重载的细节:

① 子类的方法名,形参列表和父类要保持一致。

② 子类方法返回类型可以与父类保持一致,或者是父类的返回类型的子类。

③ 子类方法的使用范围大于等于父类方法的使用范围,public > protected > 默认 > private。

vip

 

posted @ 2022-12-14 11:20  zwGitOne  阅读(196)  评论(0编辑  收藏  举报