5个回答
展开全部
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同 。
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载。Overloaded的方法是可以改变返回值的类型。
展开全部
两者的区别是条件不同:
重载的条件:
1.必须在同一个类中
2.方法名必须相同
3.参数列表不能相同。
重写的条件:
1.
在不同的类中
2.
发生方法重写的两个方法返回值,方法名,参数列表必须完全一致
3.
子类抛出的异常不能超过父类相应的方法抛出的异常
4.
子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected,
private)
5.方法体不同
super()调用父类构造,super.只能调用父类的实例方法
this()调用该类的其他构造方法,this.调用类的属性,方法
如果父类有有参构造,子类必须定义构造方法。
扩展资料:
1、重写方法的规则:
(1) 参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载。
(2)返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。
(3)访问修饰符的限制一定要大于被重写方法的访问修饰符。(public>protected>default>private)
(4)重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
例如,
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常.
2、重载方法的规则:
(1)必须具有不同的参数列表;
(2)可以有不同的返回类型,只要参数列表不同就可以了;
(3)可以有不同的访问修饰符;
(4)可以抛出不同的异常;
参考资料:百度百科-重载
百度百科-重写
重载的条件:
1.必须在同一个类中
2.方法名必须相同
3.参数列表不能相同。
重写的条件:
1.
在不同的类中
2.
发生方法重写的两个方法返回值,方法名,参数列表必须完全一致
3.
子类抛出的异常不能超过父类相应的方法抛出的异常
4.
子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected,
private)
5.方法体不同
super()调用父类构造,super.只能调用父类的实例方法
this()调用该类的其他构造方法,this.调用类的属性,方法
如果父类有有参构造,子类必须定义构造方法。
扩展资料:
1、重写方法的规则:
(1) 参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载。
(2)返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。
(3)访问修饰符的限制一定要大于被重写方法的访问修饰符。(public>protected>default>private)
(4)重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
例如,
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常.
2、重载方法的规则:
(1)必须具有不同的参数列表;
(2)可以有不同的返回类型,只要参数列表不同就可以了;
(3)可以有不同的访问修饰符;
(4)可以抛出不同的异常;
参考资料:百度百科-重载
百度百科-重写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存在的区别在于一个存在继承关系,一个不存在继承关系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重载:重载字面意思多次的意思,也就是同一个方法实现多个不同的逻辑,并可以在同一个类中可以实现。其实现的原理是,方法名相同,参数的个数或者类型不同即可。
重写:重写就是要重新去写(实现),一个类中不可能两个定义一样的方法。因此,重写就是子类对父类定义的方法重新实现一次。
扩展资料
一、方法重载的具体规范:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常。
二、方法重写的具体规范:
1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载;
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;
3、访问修饰符的限制一定要大于被重写方法的访问修饰符号、(public>protected>default>private);
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
参考资料:搜狗百科——方法重载搜狗百科——方法重写
重写:重写就是要重新去写(实现),一个类中不可能两个定义一样的方法。因此,重写就是子类对父类定义的方法重新实现一次。
扩展资料
一、方法重载的具体规范:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常。
二、方法重写的具体规范:
1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载;
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;
3、访问修饰符的限制一定要大于被重写方法的访问修饰符号、(public>protected>default>private);
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
参考资料:搜狗百科——方法重载搜狗百科——方法重写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询