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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡刚涛 中级黑马   /  2012-8-10 15:43  /  2034 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡刚涛 于 2012-8-10 17:13 编辑

用对象的原理:万物皆对象。而任何对象都是Object的子类,而Object中有静态toString方法
那么是不是任何都可以调用toString方法?
而在java中除了一些原始数据int型,char型不可以调用toString方法,其他的都能使用toString方法呢?
求助!!!

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
本帖只有第一个回答问题的有分,要求:说出Object类中所有常用的方法及含义!
回复 使用道具 举报
本帖最后由 尤洋 于 2012-8-10 17:53 编辑

感觉直接粘贴API就行了,不过那就太没技术含量了,简单说点吧
常用的方法就是
equals ()指示其他某个对象是否与此对象“相等”     ,
hashcode() 返回该对象的哈希码值,这两个基本都是用来重写

wait(),notify(),notifyAll()    ,涉及到多线程锁的问题,任意对象都能作为锁,所以这把锁具有的方法被定义在object类中

toString(),其实通常 用sop();输出  对象时  默认的就添加了toString()方法,万物都可以用字符串的形式表现出来
getCass(),返回此 Object 的运行时类。
回复 使用道具 举报
比较涉及的方法:
boolean equals(Object obj):指示某个其他对象是否与此对象“相等”。
int hashCode():返回该对象的哈希码值。
返回运行类
Class<? extends Object> getClass():返回一个对象的运行时类。
多线程:
void notify():唤醒在此对象监视器上等待的单个线程。
void notifyAll():唤醒在此对象监视器上等待的所有线程。
static void sleep(long millis) : 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。
void wait():导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。
字符串转换:
String toString():返回该对象的字符串表示。
回复 使用道具 举报
toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())

protected  
        Object clone() 创建并返回此对象的一个副本。
boolean
        equals(Object obj) 指示其他某个对象是否与此对象“相等”。
protected  void
        finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<?>  
        getClass() 返回此 Object 的运行时类。
int
        hashCode() 返回该对象的哈希码值。
void  
        notify()  唤醒在此对象监视器上等待的单个线程。
void  
        notifyAll()  唤醒在此对象监视器上等待的所有线程。
String  
        toString()  返回该对象的字符串表示。
void  
        wait()  在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void  
        wait(long timeout)  在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void  
        wait(long timeout, int nanos)  在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
回复 使用道具 举报
回答1:
Object类是所有类的上帝,java中很多类都继承了Object类,你自己定义的类java都会 隐式(就是你看不见)继承Object,只要是继承了Objec类当然可以可以调用Object类中的方法啦,还有很多类覆写了toString()方法实现了自己的功能,例如基本数据包装类
回答2:
int char 这是基本数据类型 ,并不是类类型的数据,用这些关键字定义的数据是不能用toString(),如果你要对数据类型进行转换,可以使用基本数据包装类,如 Integer,Charater,这都是类,他们都重写了toString方法
Object类中的toString是用来显示当前对象的字符串形式;
回复 使用道具 举报
谢谢 大家的帮助,问题已经解决!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马