java关于方法重载和方法重写 5

大家都知道,方法重载是在同一个类里面完成的,重写只有子类继承父类的时候方可实现,但是现在我在一个类里面写了一个内部类,方法既可以按照方法重写写一个方法,又可以按照方法重载... 大家都知道,方法重载是在同一个类里面完成的,重写只有子类继承父类的时候方可实现,但是现在我在一个类里面写了一个内部类,方法既可以按照方法重写写一个方法,又可以按照方法重载写一个方法,试问这里的重写和重载还是否是重载和重写呢? 展开
 我来答
o0淡水0o
2013-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
重写:子类继承父类时覆盖(或者说替换)父类具有同样签名的方法。这里的重点在于覆盖特性,即重写之后,使用该子类的引用调用重写后的方法时,只能调用到重写后的方法,无法调用到被重写的父类方法。
重截:同一个类里具有相同方法名但不同参数列表的方法,每个方法都可以被调用。
子类继承父类的方法 public void methodA()后,
再在子类里追加 public void methodA(String input)
这时在子类里就发生了methodA的重截。

重点是 一个是覆盖,一个是增加,跟是不是内部类,同一个类没有关系。
追问
那你说内部类里面这样声明了 ,那他是个甚么定型呢?你不能说一句话说他没有关系,我只是想明白内部类里面这样做法,算不算重载或者算不算重写,因为我在测试类里面调用的话 ,也能调用到内部类里面重写的方法(如你所说),这怎么解释
追答
你能把代码贴出来吗?不明白你哪里有疑问。

现在我假设有一个类Outer,它有一个方法public void methodA(),它里面有还一个内部类Inner。

Inner类里有方法public void methodA(),public void methodA(String input)

这时,如果Inner 是继承了Outer的,那么Inner里面的public void methodA()属于重写,因为它覆盖了Outer的方法;而public void methodA(String input)属于重载。
如果Inner没有继承Outer,那Inner里的方法跟Outer里面的方法没有任何关系。单从重写,重载方面来看,Inner就跟普通的独立文件的类是一样的,只发生了methodA的重载。
天虹2010
2013-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你内部的方法可以重写吗?相同返回类型,相同方法名,相同参数?不好办吧。。。
更多追问追答
追问
真可以 
你试试
追答
能把相关的代码贴出来观摩一下吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦中睡客
2013-11-23
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
内部类的方法是独立的,这既不是重写也不是重载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式