码迷,mamicode.com
首页 > 其他好文 > 详细

17.方法重写

时间:2021-05-24 04:27:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:person   default   extend   输出   public   import   派生   port   cat   

方法重写

为什么要重写?

  • 父类的功能,子类不一定需要,或子类需要的更多!

特点:

  • 子类和父类需要有继承关系
  • 重写是对父类可访问的方法的重写,和属性无关
  • 声明为 final 的方法不能被重写
  • 声明为 static 的方法不能被重写,但是能够被再次声明
  • 修饰符的范围可以扩大但不能缩小。(public > protected > Default > private)
  • 抛出的异常范围可以被缩小,但不能扩大
  • 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类。(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)
  • 方法名、返回值、形参必须相同,方法体不同。(外壳不变,核心重写

例:

package com.wnaoii.oop.Demo05;

public class Person {
    public void say() {
        System.out.println("Person会说话!");
    }
}
package com.wnaoii.oop.Demo05;

public class A extends Person {
    @Override
    public void say() {
        System.out.println("A不但会说,还会唱、跳、Rep!");
    }
}
package com.wnaoii.oop;

import com.wnaoii.oop.Demo05.Person;
import com.wnaoii.oop.Demo05.A;

public class Application {
    public static void main(String[] args) {

        Person person = new Person();
        person.say();

        A a = new A();
        a.say();
    }
}

输出:

Person会说话!
A不但会说,还会唱、跳、Rep!

17.方法重写

标签:person   default   extend   输出   public   import   派生   port   cat   

原文地址:https://www.cnblogs.com/WNAOII/p/14751029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!