黑马程序员技术交流社区

标题: 方法重写和方法重载的区别 [打印本页]

作者: lhf_java    时间: 2014-8-13 23:26
标题: 方法重写和方法重载的区别
自己总结了下区别,不知道对不对?
        方法重写:
                子类中出现和父类中一模一样的方法声明的方法。

        方法重载:
                同一个类中,出现方法名相同,参数列表不同的方法。
                跟返回值无关。

        重载可以改变返回值类型,因为他跟返回值无关。
作者: Fengs    时间: 2014-8-14 16:42
恩,java继承多态的基础
作者: lhf_java    时间: 2014-8-15 00:29
Fengs 发表于 2014-8-14 16:42
恩,java继承多态的基础

是啊,感觉用的时候还是有点乱.
作者: 李国荧    时间: 2014-8-15 08:15
方法重载(Overload)的原则:2同1不同
同一个类中方法名相同,形参列表不同。(至于方法的其他部分,如方法的返回值类型、修饰符等,与方法重载没有任何关系)

方法覆盖(Override)的原则:3同2小1大
3同:
     1、同为类方法或同为实例方法
     2、方法名相同
     3、形参列表相同
2小:
     1、子类方法的返回值类型应比父类方法的返回值类型更小或相等
     2、子类方法声明抛出的异常应比父类方法声明抛出的异常更小或相等
1大:
     1、子类方法的访问权限应比父类方法的访问权限更大或相等




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2