A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张森 中级黑马   /  2013-1-10 17:54  /  1963 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

各位同学 请教个问题   Object是所有类的父类  ,意思是不是 就是  所有类都继承Object呢,那这样的话,为什么这些类还可以继承其他类的呢,这不和Java的类之间的单继承矛盾么,Java中接口可以多继承,称之为扩展,类可以多实现接口。

class Student extends Person{

}
就像这里,是不是Java在编译的时候先看看这个Student有没有显示的继承其他类,如果有就,就继承这里的Person类,而Persion类是继承了Object的。如果没有显示的继承关系,那么Java虚拟机就让他继承Object吗 ,请问各位同学 是这样的原理吗。   编译的时候看看有没有显示的继承,有就继承其他,有其他类继承Object,如果没有就直接继承Object?

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 神马都是浮云

查看全部评分

6 个回复

倒序浏览
在线等   有没有同学解答下呢 ...
回复 使用道具 举报
本帖最后由 胡勇敏 于 2013-1-10 18:08 编辑

Object是所有类的父类,而你所说的又可以继承其他类当然是没有问题的,因为这里的其他类也继承自Object,这里的Object就相当于祖宗,你可以继承你的父辈,但是你的父辈继承自他的父辈,你父辈的父辈又继承自他的父辈,而一层一层的父类追溯上去,所有的类都根于Object。这里是一个层次关系而不是一个并行关系。

评分

参与人数 1黑马币 +12 收起 理由
Rancho_Gump + 12 赞一个!

查看全部评分

回复 使用道具 举报
貌似你好像理解错了  a继承b b继承c 没有问题吧
回复 使用道具 举报
这个  其实楼主可以反编译一下就知道答案了  

我来直接告诉楼主答案吧

在编译源代码时,当遇到没有父类的类时,编译器会将其指定一个默认的父类(也就是Object),

评分

参与人数 1黑马币 +3 收起 理由
张森 + 3 谢谢 原来是这样啊

查看全部评分

回复 使用道具 举报
没有直接写明extends的,默认继承object,有继承的 如:class Student extends Person{},Student继承了Person,不会继承object,而是由Person继承。在java中,每个类都会继承object,要么是直接继承,要么是间接继承

评分

参与人数 1黑马币 +12 收起 理由
Rancho_Gump + 12 赞一个!

查看全部评分

回复 使用道具 举报

评分

参与人数 1黑马币 +12 收起 理由
Rancho_Gump + 12 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马