java 中子类重写父类的方法,修饰符有什么要求,请说的越多越好,以下代码,也捎带解释一下把,

为什么子类定义为private,就要把其中一个参数,改为long类型的,请详细说,本人初学,谢啦publicclassA{protectedintmethod(inta,... 为什么子类定义为private,就要把其中一个参数,改为long类型的,请详细说,本人初学,谢啦
public class A{
protected int method (int a, int b) {
return 0;
}
}
class B extends A{
private int method(int a,long b){
return 0;
}
}
展开
 我来答
百度网友c4c2d58
2011-10-22 · TA获得超过519个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:116万
展开全部
重写要求 两个方法的方法签名相同,方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。至于修饰符,范围相同或者比父类的范围小即可。
所以 B的method方法根本不是重写的A 的method方法,而是重载。重载要求方法名相同,参数返回值随便改。
所以,参数不一定改成long,随便什么都是重载。也不是必须加@override,写这个表示eclipse会给你去父类检查重写的对不对,不写就自己检查呗。
重写是覆盖,就是子类的替换了父类的,正常用方法,调的是子类的,所以重写完还是一个方法
重载是写多个同名方法,但可以给的参数不同,功能类似,所以正常调哪个方法,要看参数怎么写的,跟继承无关,区别是重载后变成多个方法。

总结,你的问题本身是错误的,你还是找个正确的例子来学。这样不是越学越错么?
我是北堂风
推荐于2018-04-10 · TA获得超过594个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:274万
展开全部
子类继承父类方法后,父类的方法是隐藏的,要重写必须加override关键字(也好像是overwrite),你查一下书,用哪个关键字。你这样写的这个方法是重载,不是重写。
追问
有点懂了,子类,为什么能定义成private 呢?不是子类必须比父类范围大吗?
追答
重写的时候,子类中方法的方法名、返回类型和参数表都必须与父类中相同,这样才会覆盖从父类继承过来的方法。至于修饰符,不是子类的范围必须比父类大,而是子类的范围不能比父类小,换句话说,相同是可以的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaqiok
2011-10-21
知道答主
回答量:29
采纳率:0%
帮助的人:6.9万
展开全部
子类继承父类,同时继承父类的非私有属性及方法
追问
我的意思是,子类修饰符是private,如果不把其中一个参数改为long就会报错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式