java什么是重写

angryTom
angryTom原创
2019-11-12 16:54:014762浏览

java什么是重写

Java程序中类的继承特性可以产生一个子类,子类继承父类就拥有了父类的非私有的属性(方法和变量),在子类中可以增加自己的属性(方法和变量),同时也可以对父类中的方法进行扩展,以增强自己的功能,这样就称之为重写,也称为复写或者覆盖

所谓方法重写就是子类的方法和父类中继承。(推荐教程:java教程

下来的方法具有完全相同的方法名、返回值类型、方法的参数个数以及参数类型,这样才能被称为方法重写。

// 这是父类的定义
public class Person {
    public void eat() {
        System.out.println("=====这是父类Person的eat方法=======");
    }
}
// 这是子类的定义
public class Student extends Person {
    @Override
    public void eat() {
        System.out.println("===这是子类Student的eat方法===");
    }
    // main方法测试
    public static void main(String[] args) {
        Student student = new Student();
        student.eat(); //输出:===这是子类Student的eat方法===
    }
}

子类重写父类的方法后,在实例化子类的时候则调用的是子类中的方法,父类的方法就如同被覆盖了一样。如果在子类中需要调用父类的方法,则在子类方法中使用super关键字调用父类的方法,格式:super.父类中的方法名。

方法重写特点

在子类和父类中,出现了方法声明相同的情况

子类的方法声明要和父类相同

子类要重写的方法,方法的权限修饰符不能比父类更低(public 、protected 、default 、private 权限依次增加)

父类私有的方法,子类不能进行方法重写

以上就是java什么是重写的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。