Object类
2014-11-27 21:36
363 查看
Object类
Object类是所有类,数组,枚举类的父类,也就是说,java允许把任何类型的对象赋值给Object类型的
变量,当定义一个类是没有石油extends关键字为他显示指定父类时,则该类默认继承Object父类
因为所有的类都是Object类的子类,所有任何java对象都可以调用Object类的方法,Object类提供了如下的
几个常用的方法
1.boolean equals(Object obj):
判断指定对象与该对象是否相等,此处相等的标准是,两个对象是同一个对象
2.protected void finalized():当系统中没有引用变量引用到该对象时,垃圾回收器调用此方法来清理该对象的资源
3.Class<?> getClass():返回该对象的运行时类
4.int hashCode():返回该对象的hashCode()值,默认情况下,Object类调用hashCode()方法来根据该对象的地址
来计算,但很多类都重写了Object的hashCode()方法,不在根据地址来计算机hashCode()方法值
5.String toString():返回该对象的字符串表示
除此之外,Object类还提供了wait()方法,notify()方法,notifyAll()几个方法,通过这几个方法可以控制线程的
暂停和运行,java还提供了一个protected修饰的clone()方法,该方法用于帮助其他类来实现'自我克隆'(得到当前对象的一个副本,而且两者之间完全隔离)
class Address{
String detail;
public Address(String detail){
this.detail.detail;
}
}
//实现Cloneable接口
class User implements Cloneable{
int age;
Address address;
public User(int age){
this.age=age;
address=new Address("details");
}
//通过调用super.clone()方法来实现
public User clone()throw CloneNotSupportException{
return (User)super.clone();
}
}
public class CloneTest{
public static void main(Stringp[] args){
User u1=new User(23);
//Clone得到u1对象的副本
User u2=u1.clone();
//判断u1,u2是否相同
System.out.println(u1==u2);
}
}
//注意:Object类的clone()方法只是一种"浅复制"-它只克隆该对象的所有成员变量值,不会对引用类型
的变量进行克隆
Object类是所有类,数组,枚举类的父类,也就是说,java允许把任何类型的对象赋值给Object类型的
变量,当定义一个类是没有石油extends关键字为他显示指定父类时,则该类默认继承Object父类
因为所有的类都是Object类的子类,所有任何java对象都可以调用Object类的方法,Object类提供了如下的
几个常用的方法
1.boolean equals(Object obj):
判断指定对象与该对象是否相等,此处相等的标准是,两个对象是同一个对象
2.protected void finalized():当系统中没有引用变量引用到该对象时,垃圾回收器调用此方法来清理该对象的资源
3.Class<?> getClass():返回该对象的运行时类
4.int hashCode():返回该对象的hashCode()值,默认情况下,Object类调用hashCode()方法来根据该对象的地址
来计算,但很多类都重写了Object的hashCode()方法,不在根据地址来计算机hashCode()方法值
5.String toString():返回该对象的字符串表示
除此之外,Object类还提供了wait()方法,notify()方法,notifyAll()几个方法,通过这几个方法可以控制线程的
暂停和运行,java还提供了一个protected修饰的clone()方法,该方法用于帮助其他类来实现'自我克隆'(得到当前对象的一个副本,而且两者之间完全隔离)
class Address{
String detail;
public Address(String detail){
this.detail.detail;
}
}
//实现Cloneable接口
class User implements Cloneable{
int age;
Address address;
public User(int age){
this.age=age;
address=new Address("details");
}
//通过调用super.clone()方法来实现
public User clone()throw CloneNotSupportException{
return (User)super.clone();
}
}
public class CloneTest{
public static void main(Stringp[] args){
User u1=new User(23);
//Clone得到u1对象的副本
User u2=u1.clone();
//判断u1,u2是否相同
System.out.println(u1==u2);
}
}
//注意:Object类的clone()方法只是一种"浅复制"-它只克隆该对象的所有成员变量值,不会对引用类型
的变量进行克隆
相关文章推荐
- Object类的几个方法
- C#高级(四)结构,部分类和Object类
- Object类
- JS的Object类的属性和方法
- 黑马程序员_关于object类的学习
- JS的Object类的属性和方法
- 36_Object类之equals方法
- 黑马程序员_Object类
- 15、Object类详解
- 黑马程序员:Object类:超父类的学习
- Object类
- java的Object类
- 23-JavaScript-面向对象-Object类-扩展原型对象-成员函数
- NO8.java笔记【面向对象、抽象类、abstract、接口、interface、多态 、内部类、匿名内部类、异常、Object类】
- Object类
- Java中的Object类
- Object类和String类的equals()方法对比
- object类
- C# - object类有哪些基本方法
- Object类(一)Clone方法