重写(覆盖)
Posted 知行合一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写(覆盖)相关的知识,希望对你有一定的参考价值。
对父类同名的方法的重写、覆盖
方法的重写 ---(方法的重载) 修饰符 返回值类型 方法名 (参数列表){}
1.前提:有子类继承父类
2.子类继承父类以后,若父类的方法对子类不适用,那么子类可以对父类的方法重写(override overwrite)、覆盖、覆写。
3.重写的规则:
1) 要求子类方法的“返回值类型 方法名 (参数列表)”与父类的方法一样
2) 子类方法的修饰符不能小于父类方法的修饰符
3) *若父类方法抛异常,那么子类方法抛的异常类型不能大于父类的。
4) *子父类的方法必须同为static或同为非static的。
package com.atguigu.java1; class A{ } public class Student extends Person{ //public class Student extends Person,A{ // private String name; // private int age; private String schoolName; public Student(){ } public Student(String name,int age){ // this.name = name; // this.age = age; this.setName(name); this.setAge(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; // } // // 对父类同名的方法的重写、覆盖 public void eat(){ System.out.println("应该多吃有营养的"); } public void walk(){ System.out.println("背着书包蹦蹦跳跳的走路"); } public void info(){ eat(); //System.out.println("name:" + name); System.out.println("我是一个学生"); } //不是对父类私有的sleep()方法的重写。 private int sleep(){ return 0; } }
以上是关于重写(覆盖)的主要内容,如果未能解决你的问题,请参考以下文章