A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© CRT 中级黑马   /  2016-9-5 23:53  /  537 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


Override和Overload的区别?Overload能改变返回值类型吗?
        方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的
       
        方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

2 个回复

倒序浏览
比如一个Person类 有String的姓名属性 int的年龄属性 double的身高属性
那么给出的构造方法可以有这么些种: Person(int 年龄)、Person(double 身高)、Person(String 姓名)、Person(String 姓名,int的年龄)、Person(String 姓名,double 身高)、Person(int 年龄,double 身高)、Person(String 姓名,int 年龄,double 身高)和 Person()   
以上这些是全部可能的构造方法 都有各自的意义 他们互为重载 建对象的时候就会根据需求选用一个

而重写嘛 联系接口和抽象类就很容易理解了 一句话 子类比父类更强大 怎么叫强大?方法功能强大

回复 使用道具 举报
重写override,是对父类方法的改写或者扩充,因为方法体必须一模一样,重载overload,这个主要看参数,多个相同方法名的,参数只要有区别即可,其余的都可以改变
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马