子类是否可以继承所有父类的所有方法和属性

LuckBoy 2012-04-08 12:29:44
假设A继承于B,B又继承于C,C又继承于D,B,C,D里面分别有b(),c(),d()方法,问A是否继承了b(),c(),d()方法?还有就是A是否继承了B,C,D所有的方法?当然除了构造方法以外的方法。
...全文
5854 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaobingg 2014-04-10
  • 打赏
  • 举报
回复
引用 12 楼 iHTML 的回复:
[Quote=引用 4 楼 的回复:] 如果没记错的话父类的私有域也是可以被继承的 只不过子类不能去访问私有域 子类只能通过调用父类的getter和setter方法来对私有变量进行操作 [/Quote] 同感
对的
hahah-1990 2013-10-26
  • 打赏
  • 举报
回复
17楼是正解
hahah-1990 2013-10-26
  • 打赏
  • 举报
回复
都继承了,只是私有的属性方法被隐藏,不能直接调用
qybao 2012-04-09
  • 打赏
  • 举报
回复
从继承的概念来说,private和final不被继承
从内存的角度来说,父类的一切都被继承(从父类构造方法被调用就知道了,因为new一个对象,就会调用构造方法,子类被new的时候就会调用父类的构造方法,所以从内存的角度来说,子类拥有一个完整的父类)
sunyitao2012 2012-04-09
  • 打赏
  • 举报
回复
继承啊,除了private和final
alonesuper0907 2012-04-09
  • 打赏
  • 举报
回复
楼主可以多看下think in java
继承机制是这样的 子类能够继承父类的所有非private方法、非private对象以及父类里包含的非private 内部类等,如果子类中包含了父类的方法,那么就是覆盖,被覆盖后要调用父类的方法就必须带上”super."
继承了就表示他拥有了,拥有了的就可以传给他的子类

所以主要还是看你的 B,C,D方法是否是私有的,如果都是非私有的,那么就表示可以一代一代的传下去,那么A就继承了所有的方法,如果其中有私有的,那么A将不继承该方法
老9 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
在同一个包中除private声明外的方法都可以继承。
不在同一个包中,只继承protected和public声明的方法。
[/Quote]

+++
jiakai0419 2012-04-09
  • 打赏
  • 举报
回复
如果扣概念的话,本身没什么意思。

但是,楼上的各位既然都扣概念的话。

那我也参与一下。

我看Thinking in Java上说的是,子类继承父类的一切域和方法。

至于能不能直接访问,那访问权限了。

上面有人说,不能继承private的。这个站在我个人的角度来说,我不怎么能赞同。

我只是觉得,是不能直接访问。

你说子类继承不继承基类的private 字段?

new 子类对象的时候,子类对象里面已经隐式包涵了一个基类对象。

跟楼上的意思很像。

总觉得说,不能继承某访问类型域或者字段。很不妥。
lasfrost 2012-04-08
  • 打赏
  • 举报
回复
在同一个包中除private声明外的方法都可以继承。
不在同一个包中,只继承protected和public声明的方法。
sdojqy1122 2012-04-08
  • 打赏
  • 举报
回复
public friendly(默认) protected,方法和属性都继承。
  • 打赏
  • 举报
回复
是 public 声明就继承
结贴是美德 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

如果没记错的话父类的私有域也是可以被继承的 只不过子类不能去访问私有域
子类只能通过调用父类的getter和setter方法来对私有变量进行操作
[/Quote]

同感
波杰克男 2012-04-08
  • 打赏
  • 举报
回复
继承啊
  • 打赏
  • 举报
回复
若子类和父类在同一个包中,则子类能继承父类非私有的方法,若子类和父类不在同一个包中,则子类只能继承父类的public方法
loveDaro 2012-04-08
  • 打赏
  • 举报
回复
上面已经说得很明白了,就当做我路过的、、、
MissLAW 2012-04-08
  • 打赏
  • 举报
回复
子类是不会继承父类的private(私有)方法, public friendly(默认) protected,方法和属性都继承。
cshh6 2012-04-08
  • 打赏
  • 举报
回复
final与private的不能继承
m540920181 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

public friendly(默认) protected,方法和属性都继承。
[/Quote]
一般就是这样的
jerome_s 2012-04-08
  • 打赏
  • 举报
回复
继承了B,C,D所有的方法?
a921016 2012-04-08
  • 打赏
  • 举报
回复
如果没记错的话父类的私有域也是可以被继承的 只不过子类不能去访问私有域
子类只能通过调用父类的getter和setter方法来对私有变量进行操作

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧