首页 > 其他 > 详细

重载、重写

时间:2018-03-30 11:26:36      阅读:108      评论:0      收藏:0      [点我收藏+]

重写:1、在同一个包中,父类的private和final的方法不能被子类重写

           2、不在同一个包,则只能重写非final的protected和public父类的方法

           3、对同一个东西进行重新写,所以必须同名同参同返回值类型

     4、重写出来的方法的访问权限不能比父类低(依赖于父类的访问权限)

 1     static class Animal{
 2         //父类方法定义为static,则子类不可以重写,除非也定义为static
 3         public static void move(){
 4             System.out.println("动物可以行走");
 5         }
 6     }
 7     static class Dog extends Animal{
 8         public static void move(){
 9             System.out.println("狗会跑");
10         }
11         public void bark(){
12             System.out.println("狗会叫");
13         }
14     }

  当在子类中要调用父类的方法时,可以用super关键字或者new一个父类对象

    1、如果用super关键字,则父类的方法不能被定义为static,否则无法调用

    2、new一个父类对象就不存在这个问题了,是完全可以调用的

    注意:子类也可以直接super(xx,xx); 默认调用的是父类的构造函数

重载:

  1、必须是同名不同参,返回类型可相同可不相同(无所谓)

  2、参数列表顺序不同也是重载

  3、重载出来的方法可以任意修改访问权限(相当于新写的一个方法)

 

重载、重写

原文:https://www.cnblogs.com/OSKnown/p/8675096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!