黑马程序员技术交流社区

标题: 关于类继承object类的问题 [打印本页]

作者: 罗广伟    时间: 2013-1-19 20:55
标题: 关于类继承object类的问题
本帖最后由 罗广伟 于 2013-1-20 08:16 编辑

public class Object
{
        Object()
        {
                System.out.println("object构造函数运行");
        }
}
class demo extends Object
{
        void run()
        {
                System.out.println("run");
        }
        public static void main(String[] args)
        {
                demo a= new demo();
                a.run();
        }
}
//问题:demo继承object,按理说object会继承所有类的父类object。java会允许同名类的继承吗?




作者: 柴乔军    时间: 2013-1-19 20:59
楼主你的object和Object不一样噢~~~
作者: 柴乔军    时间: 2013-1-19 21:02
首先,java是单继承的,只能继承一个类,其次,同名是可以存在的,但是不同包
作者: 罗广伟    时间: 2013-1-19 21:29
柴乔军 发表于 2013-1-19 21:02
首先,java是单继承的,只能继承一个类,其次,同名是可以存在的,但是不同包 ...

大写也可以编译和运行,那如果不是同一包相同的名称也可以继承?
作者: 柴乔军    时间: 2013-1-19 21:33
罗广伟 发表于 2013-1-19 21:29
大写也可以编译和运行,那如果不是同一包相同的名称也可以继承?

类与类的继承只能继承一个,例如在java web开发中应用的框架中经常会有重名的类,但是因为它们不同包,所以可以允许重名的存在,至于你继承的是哪一个,在文件开头不是定义了import来导入嘛
作者: 张云杰    时间: 2013-1-19 21:40
我不会告诉你2楼是正解..我会告诉你么?  这里算是重写了Object的方法, 如果说..你有继承这个包下的Object类,, 你可以继承后 调用看看, 会打印出 System.out.println("object构造函数运行");
然后 java是可以继承同名类, 但主要是看包啊... 他们的包不同啊.. 你每次导包的时候可以看下 上面的import 包是不同的
作者: 黄金龙    时间: 2013-1-19 21:41
Object这个是关键字不能作为名字的......放弃吧.
作者: 柴乔军    时间: 2013-1-19 21:43
黄金龙 发表于 2013-1-19 21:41
Object这个是关键字不能作为名字的......放弃吧.

可以做。。。。自己定义一个Object不会报错
作者: 罗广伟    时间: 2013-1-19 21:46
柴乔军 发表于 2013-1-19 21:33
类与类的继承只能继承一个,例如在java web开发中应用的框架中经常会有重名的类,但是因为它们不同包,所 ...

哦,多谢
作者: 罗广伟    时间: 2013-1-19 21:47
张云杰 发表于 2013-1-19 21:40
我不会告诉你2楼是正解..我会告诉你么?  这里算是重写了Object的方法, 如果说..你有继承这个包下的Object类 ...

哦,多谢
作者: 焦健    时间: 2013-1-19 21:55
本帖最后由 焦健 于 2013-1-19 21:56 编辑

可以运行,经过实验证明你写的Object类继承了java原有的Object类。
D:\12.jpg

12.jpg (46.11 KB, 下载次数: 161)

12.jpg

作者: 王溢君    时间: 2013-1-19 23:24
不管什么类,都会自动继承Object这个根父类,,,
不同包同名类是允许存在的,可以继承,不过这样写比较乱,一般情况都要尽量避免。

假如一个类A可以继承另一个类B,但是类B也可以去继承类C,类C可以继承类D。
作者: 高浩    时间: 2013-1-20 12:54
Object 类是基类,它是众多类的顶尖,都是鼻祖了,还去继承啥呢,只有别类继承它的份,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2