社区
Java SE
帖子详情
java 单继承 Object类?
HelloWorld280
2009-11-10 11:16:46
众所周知,j2se中每个类都有个默认父类,即Object,假设定义个动物类,animal,其中比如有个cat类继承animal类,显然cat类也继承Object类,那这个cat类不是有两个父类了??(虽然说,animal类也继承Object类)
...全文
350
20
打赏
收藏
java 单继承 Object类?
众所周知,j2se中每个类都有个默认父类,即Object,假设定义个动物类,animal,其中比如有个cat类继承animal类,显然cat类也继承Object类,那这个cat类不是有两个父类了??(虽然说,animal类也继承Object类)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iguowei
2010-12-08
打赏
举报
回复
同意19楼的观点
timeriver_wang
2009-11-11
打赏
举报
回复
这个牛角尖钻的好,
要知道,java并不是完美的,是可以接受的
就想数学里面的“可去不连续点”一样
config_man
2009-11-11
打赏
举报
回复
Object对于cat来说,是
超类
,不是父类
swandragon
2009-11-11
打赏
举报
回复
cat 儿子
animal 父亲
Object 爷爷
kuruby
2009-11-11
打赏
举报
回复
animal->obgect
cat->animal->object
我是这样理解的。没有出现extends的时候父类就是object.
出现了extends后,object就是间接父类了。
一级一级的传递,总有一个节点是没使用extends的。
彤袅
2009-11-11
打赏
举报
回复
当cat继承animal的时候,它的父类已经被显式改变了,应该这样讲,这种情况下它的父类已经直接被显式改变称为了animal,而也只有animal是Object的直接子类了,整个继承树是这样一级一级地过来的,楼主这个问题是有点钻牛角尖!
火龙果被占用了
2009-11-11
打赏
举报
回复
[Quote=引用楼主 helloworld280 的回复:]
众所周知,j2se中每个类都有个默认父类,即Object,假设定义个动物类,animal,其中比如有个cat类继承animal类,显然cat类也继承Object类,那这个cat类不是有两个父类了??(虽然说,animal类也继承Object类)
[/Quote]
谁跟你说的是这样继承的啊?
实际上是 Animal 隐式继承了 Object 类,而 Cat 又继承了 Animal 类,根本不是 Cat 去继承了 Object。
或者可以这样说,有 extends 时直接继承父类,无 extends 时隐式继承 Object 类。
三界五行外
2009-11-11
打赏
举报
回复
[Quote=引用楼主 helloworld280 的回复:]
众所周知,j2se中每个类都有个默认父类,即Object,假设定义个动物类,animal,其中比如有个cat类继承animal类,显然cat类也继承Object类,那这个cat类不是有两个父类了??(虽然说,animal类也继承Object类)
[/Quote]
请你先学
学什么是继承
,先弄清楚父类和直接父类的区别。
hui94781674
2009-11-11
打赏
举报
回复
java只能继承一个,但是可以通过类似父亲爷爷实现多继承。。。
FlashDragon
2009-11-11
打赏
举报
回复
java中默认继承是在没有显示说明继承那个父类时,这些类默认是继承Object类,而用显示说明继承时,就不存在默认类了。
smallbear923
2009-11-11
打赏
举报
回复
[Quote=引用 10 楼 justinavril 的回复:]
你硬要说有2个父类 也没办法
Java之所以说是单继承,是在语法上约束了extends关键字之后只能有一个类名存在;而继承之后不可以被别的类再继承,岂不是这颗继承树只有2层了?
[/Quote]
哦耶~
开门大吉送吉祥
2009-11-11
打赏
举报
回复
java是单根继承。
justinavril
2009-11-11
打赏
举报
回复
[Quote=引用 7 楼 sforiz 的回复:]
引用 3 楼 swandragon 的回复:
cat 儿子
animal 父亲
Object 爷爷
一个类只有一个父类,Object 是父类的父类,也可以间接使用其方法
[/Quote]
你理解错了吧?子类可以调用父类的方法,如果没有重写的话;但是父类不能调用子类有,而父类没有的方法。最简单的例子,每一个类都有一个默认的toString方法,这个方法是在Object类里实现的。
justinavril
2009-11-11
打赏
举报
回复
你硬要说有2个父类 也没办法
Java之所以说是单继承,是在语法上约束了extends关键字之后只能有一个类名存在;而继承之后不可以被别的类再继承,岂不是这颗继承树只有2层了?
whut0802
2009-11-11
打赏
举报
回复
java是单继承的。
sforiz
2009-11-11
打赏
举报
回复
[Quote=引用 4 楼 config_man 的回复:]
Object对于cat来说,是超类,不是父类
[/Quote]
呵呵,超类就不是父类了吗?父类、超类、基类是同一个概念吧!不同的叫法
sforiz
2009-11-11
打赏
举报
回复
[Quote=引用 3 楼 swandragon 的回复:]
cat 儿子
animal 父亲
Object 爷爷
[/Quote]
一个类只有一个父类,Object 是父类的父类,也可以间接使用其方法
scarjia
2009-11-11
打赏
举报
回复
Object类的老祖宗。。。。
jokerdx
2009-11-10
打赏
举报
回复
不是,只有animal类是父类,object是animal的父类,继承关系是持续的
reeves101
2009-11-10
打赏
举报
回复
我想,你是不是钻牛角尖了。
你写个类需要你去显式的继承Object了吗。
Java
进阶学习笔记8——
单
继承
、
Object
类
、方法重写
Java
进阶学习笔记
【
Java
特性】
继承
详解——
单
继承
、多层
继承
、重写与
Object
类
本文详细介绍了
Java
中的
继承
特性。首先指出
Java
只支持
单
继承
,不允许多重
继承
,但多个
类
可
继承
同一父
类
且支持多层
继承
,明确了子
类
和父
类
的相对概念。接着阐述了子
类
重写父
类
方法的注意事项,包括不能使用更严格的访问权限。介绍了 super 关键字在调用父
类
成员变量、成员方法和构造方法时的用法及注意点,强调在定义
类
时若有有参构造方法最好再显式定义无参构造方法以避免被
继承
时出错。
java
是
单
继承
,但是所有
类
都是
Object
类
的子
类
,那么既然已经
继承
Object
,为什么还能
继承
一个其他的
类
呢?...
所有
类
的祖宗是
object
,所有
类
只能有一个父亲。
Java
的
单
继承
指的是一个
类
不能有多个父亲,而C++就能有好多父亲。举个例子:如果A 没有
继承
任何
类
,那他的
类
层次关系默认是 A --
Object
如果A
继承
了
类
B,那他的
类
层次关系变为 A -- B --
Object
,
Object
是他爷爷,B是他唯一的父亲,B直接
继承
Objcet,A间接
继承
Object
...
Java
中的所有
类
都
继承
自
Object
,如何实现的呢?
我们用过
Java
的都知道
Java
中所有
类
都是
Object
类
的子
类
,但我们创建
类
的时候并没有写上extend
Object
,那这到底是怎样实现
继承
关系的呢?本篇文章就来探讨下这个疑问。 首先,我们再思考个问题:
Java
中
类
的
继承
只能是
单
继承
,那为什么所有
类
都是
Object
的子
类
的情况下,所有
类
还能
继承
一个
类
呢? 解答:
Object
类
、Parent
类
、Child
类
Parent
类
继承
Object
; Child
类
继承
Object
类
; Child
类
继承
Parent
类
; 如图所示,Child
类
并不是
继承
Objec
权限修饰符、
单
继承
、
Object
类
1.private:只能在本
类
中访问2.缺省:可以在同一个包下的其他
类
里访问3.protected:可以在任意包下的子
类
里访问4.public:可以在任意包下的任意
类
里访问。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章