黑马程序员技术交流社区

标题: Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? [打印本页]

作者: alax    时间: 2014-5-20 04:33
标题: Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
作者: 欧阳疯    时间: 2014-5-20 10:46
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
作者: 莫问纷飞    时间: 2014-5-20 10:52
overload(重载):只关注本类中同名函数的参数列表。不关注返回值类型。
override(覆盖):子父类中一模一样的函数,才会覆盖。保留父类功能声明,建立子类功能内容,这就是覆盖。

覆盖注意事项:
1,子类覆盖父类方式,必须要保证子类方法权限大于等于父类方法权限。
2,静态只能覆盖静态,或者被静态覆盖。
覆盖就是沿袭了父类功能的声明,其实是创建了子类的内容而已,内容是子类的,声名是父类的。
作者: 向前看向前走    时间: 2014-5-20 12:32
Overload和Override的区别。
Overload是重载,重载是可以改变参数的个数,可以改变返回类型
Override是重写,是可以把不能改变参数的个数,可以改变返回类型,改变类型必须是父类的子类型.




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