Java类继承,重写,重载

2020-08-13  本文已影响0人  你的益达233

继承

继承是编程语言很重要的思路。编程讲究简单化,稳定,避免重复造轮子。
继承可理解为一个对象从另外一个对象获取属性的过程
比如小猫,小狗都需要喝水,那我们定义个动物类,里面定义一个喝水方法。让小猫,小狗类分别去继承动物类,这样不用定义都具有了喝水功能。

extends继承类关键字

首先要记住:

示例代码:

class Animal{
    private int a =100;
    public String name = "动物";

    public String getName() {
        return name;
    }

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

class Cat extends Animal{

}

public class ExtendsDemo {

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setName("小猫");//父类继承过来的方法
        System.out.println(cat.getName());
    }
}

重写Override

重写是子类对父类允许访问的方法的方法内容进行重新编写。
注:返回值和形参都不能改变。即只能改大括号{}里面的内容
好处:子类可以根据需要实现父类的方法
示例代码:

class Animal{
    private int a =100;
    public String name = "动物";

    public String getName() {
        return name;
    }

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

    public void sound(){
        System.out.println("我会叫");
    }
}

class Cat extends Animal{

    //重写
    @Override
    public void sound() {
        //super.sound(); //注释掉
        System.out.println("喵喵喵");
    }
}

public class ExtendsDemo {

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setName("小猫");
        System.out.println(cat.getName());
        cat.sound();
    }
}

重载Overload

重载是指在同一个类里面,方法名相同,而参数不同,返回值可同可不同(也可以没有)。也可用在构造函数
示例代码:

class Cat extends Animal{

    //重写,修饰符保持和父类一样,不能改为更严格的修饰符
    @Override
    public void sound() {
        //super.sound(); //注释掉
        System.out.println("喵喵喵");
    }

    //重载:关键是方法名相同,参数不同,其他的修饰符,返回值可以改也可以不改
    private void sound(int num){
        System.out.println("叫"+num+"声");
    }
    //重载
    public String sound(String content){
        return "我是猫"+content;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读