Object是java里的关键字吗

wangdong20 2012-01-04 03:25:01
初学java的菜鸟想问问Object是java的关键字吗?
因为我最近发现,Object类好像可以直接调用

package ex11;

public class DynamicBindingDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
m(new GraduateStudent());
m(new Student());
m(new Person());
m(new Object());
}

public static void m(Object x){
System.out.println(x.toString());
}

}

class GraduateStudent extends Student{
}

class Student extends Person{
public String toString(){
return "Student";
}
}

class Person extends Object{
public String toString(){
return "person";
}
}


运行结果为:
Student
Student
person
java.lang.Object@14318bb


Object类里面到底有什么成员和方法
还有最后一句运行结果好像跟不同机器的结果也不一样
我的结果是:java.lang.Object@14318bb
这又是为什么呢?
...全文
209 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
达达拉 2012-01-04
  • 打赏
  • 举报
回复
所有类的父类,所有类都是其子类,不管是接口还是实现类。
ansizhu1 2012-01-04
  • 打赏
  • 举报
回复
你到api里去找一下就知道了,是系统编写好的一个类
Sniper.ZH 2012-01-04
  • 打赏
  • 举报
回复
Object是所有类的父类,如果您定义类的时候没有extends一个指定的父类的话,那么就默认继承自object类

具体属性和方法查下api文档就好了

java.lang.Object@14318bb这个@前面是类名 后面表示对象的引用,所以每次new出来的object类在内存里的引用都不一样,这个串就不一样了

person和student都重写了toString方法,所以打印出来的就是您toString方法返回的字符串,object的toString方法返回的字符串就是 "类名@引用"

如果你把student类的toString方法注视掉,打印出来的就跟object这个差不多了,你可以试一下~
wangdong20 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sjkof 的回复:]
Object是一个最基础的类,所有的类都是它的派生类
有equals方法用于比较,有notify等方法用于线程控制
java.lang.Object@14318bb是创建的这个对象实例
不仅仅不同的机器不一样,应该是每次运行都可能不一样
[/Quote]
Object类里面有什么呢
nmyangym 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 goldenfish1919 的回复:]

Object不是关键字,是所有类的父类
[/Quote]
+1
sjkof 2012-01-04
  • 打赏
  • 举报
回复
Object是一个最基础的类,所有的类都是它的派生类
有equals方法用于比较,有notify等方法用于线程控制
java.lang.Object@14318bb是创建的这个对象实例
不仅仅不同的机器不一样,应该是每次运行都可能不一样
若鱼1919 2012-01-04
  • 打赏
  • 举报
回复
Object不是关键字,是所有类的父类

62,636

社区成员

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

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