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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

点评

请不要恶意刷技术分!  发表于 2014-5-21 13:32

4 个回复

倒序浏览
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
回复 使用道具 举报
overload(重载):只关注本类中同名函数的参数列表。不关注返回值类型。
override(覆盖):子父类中一模一样的函数,才会覆盖。保留父类功能声明,建立子类功能内容,这就是覆盖。

覆盖注意事项:
1,子类覆盖父类方式,必须要保证子类方法权限大于等于父类方法权限。
2,静态只能覆盖静态,或者被静态覆盖。
覆盖就是沿袭了父类功能的声明,其实是创建了子类的内容而已,内容是子类的,声名是父类的。
回复 使用道具 举报
Overload和Override的区别。
Overload是重载,重载是可以改变参数的个数,可以改变返回类型
Override是重写,是可以把不能改变参数的个数,可以改变返回类型,改变类型必须是父类的子类型.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马