Java类的共同父类Object之常用方法总结
2017-06-18 19:56
405 查看
Java类的共同父类为Object:
Java.lang.Object类是所有Java类的最高层次父类,该类中没有定义任何属性,只有几个方法。
1、hashCode( )方法
public int hashCode ( ) 返回当前对象的哈希值(哈希码可理解为系统为每一个Java对象自动创建的整型编号,而且此编号唯一)。
2、toString( )方法
Object类中toString()方法的原始定义:
public String toString( ){
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
当子类继承后可以重写toString()方法。
3、equals( )方法
Object类中equals ( )的定义:
public boolean equals(Object obj){
return (this == obj);
}
equals( )方法和“==”的异同:
注:等价性比较的标准:
a、基本数据类型比较的是数据的值;
b、引用类型比较的是对象的句柄,即对象的hashCode编码或者说是引用类型变量的值,而非对象本身,也可以说永远比较的是变量的值。
equals( ) 在比较一些特定的引用类型(java.lang.String、java.io.File、java.util.Date)数据时,允许改变先前严格的等价性标准——只要两个对象同为
同类特定类型且内容相同(对象各自封装的属性值对应相同),即判断为等价。
“==”不存在任何"变通"的可能。
public class TestEquals(){
public static void main(String [] args){
String s1 = new String("abcd");
String s2 = new String("abcd");
System.out.println(s1 == s2);
System.out.println(s1.ewuals(s2));
s2 = s1;
System.out.println(s1 == s2);
System.out.println(s1.ewuals(s2));
}
} 程序运行输出结果为:
false
true
true
true
4、finalize( )方法
Java运行环境中的垃圾收集器在销毁一个对象之前,会自动调用该对象的finalize()方法,然后才释放对象的内存空间。
在Object类中的定义:
protected void finalize( ) throws Throwable{ }
注:a、在子类重写finalize()方法时,修饰符要修改为public,否则重写没有意义。
b、finalize( )方法最终是否会执行,何时会执行都是不确定的,即使在应用程序中显式调用System.gc()或 Runtime.gc()方法强制系统清理无用内存,
都无法保证finalize( )方法是否执行,故开发中不建议使用此方法。
5、clone( )方法
拷贝一个现有的对象,得到一个新对象(和现有对象拥有完全相同的属性值信息),之后二者使用互不干预。
Object类的定义:
protected native object clone() throws cloneNotSupportException;
注:a、子类重写clone()方法时,修饰符要修改为public。
b、所有要进行"克隆"的对象所属的类,必须实现java.lang.Cloneable接口。
c、Cloneable接口是空接口。
d、有浅度拷贝、深度拷贝之分。
6、wait( )方法和notify( )方法在多线程中介绍。
Java.lang.Object类是所有Java类的最高层次父类,该类中没有定义任何属性,只有几个方法。
1、hashCode( )方法
public int hashCode ( ) 返回当前对象的哈希值(哈希码可理解为系统为每一个Java对象自动创建的整型编号,而且此编号唯一)。
2、toString( )方法
Object类中toString()方法的原始定义:
public String toString( ){
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
当子类继承后可以重写toString()方法。
3、equals( )方法
Object类中equals ( )的定义:
public boolean equals(Object obj){
return (this == obj);
}
equals( )方法和“==”的异同:
注:等价性比较的标准:
a、基本数据类型比较的是数据的值;
b、引用类型比较的是对象的句柄,即对象的hashCode编码或者说是引用类型变量的值,而非对象本身,也可以说永远比较的是变量的值。
equals( ) 在比较一些特定的引用类型(java.lang.String、java.io.File、java.util.Date)数据时,允许改变先前严格的等价性标准——只要两个对象同为
同类特定类型且内容相同(对象各自封装的属性值对应相同),即判断为等价。
“==”不存在任何"变通"的可能。
public class TestEquals(){
public static void main(String [] args){
String s1 = new String("abcd");
String s2 = new String("abcd");
System.out.println(s1 == s2);
System.out.println(s1.ewuals(s2));
s2 = s1;
System.out.println(s1 == s2);
System.out.println(s1.ewuals(s2));
}
} 程序运行输出结果为:
false
true
true
true
4、finalize( )方法
Java运行环境中的垃圾收集器在销毁一个对象之前,会自动调用该对象的finalize()方法,然后才释放对象的内存空间。
在Object类中的定义:
protected void finalize( ) throws Throwable{ }
注:a、在子类重写finalize()方法时,修饰符要修改为public,否则重写没有意义。
b、finalize( )方法最终是否会执行,何时会执行都是不确定的,即使在应用程序中显式调用System.gc()或 Runtime.gc()方法强制系统清理无用内存,
都无法保证finalize( )方法是否执行,故开发中不建议使用此方法。
5、clone( )方法
拷贝一个现有的对象,得到一个新对象(和现有对象拥有完全相同的属性值信息),之后二者使用互不干预。
Object类的定义:
protected native object clone() throws cloneNotSupportException;
注:a、子类重写clone()方法时,修饰符要修改为public。
b、所有要进行"克隆"的对象所属的类,必须实现java.lang.Cloneable接口。
c、Cloneable接口是空接口。
d、有浅度拷贝、深度拷贝之分。
6、wait( )方法和notify( )方法在多线程中介绍。
相关文章推荐
- Java中父类Object的常用方法总结
- 【转】java_中常用的方法总结
- Java常用方法总结(持续更新中)
- Java:java.lang.Object常用方法
- Java中Calendar常用方法总结
- Java基础之Object 常用方法
- java中 object转为 String几种常用方法
- Java中常用字符串方法总结
- Java中数组常用方法的总结
- JAVA中sort()常用方法总结
- java中String类常用方法总结
- Java 反射获取类详细信息的常用方法总结
- JAVA常用JDBC连接数据库方法总结
- 12-6java面向对象之String类常用方法的总结
- object常用方法,java常见包;常见异常
- POI操作Excel常用方法总结 分类: B1_JAVA 2013-08-23 10:01 349人阅读 评论(0) 收藏
- java 中常用的方法总结
- Object 开发中常用的重写方法总结toString,equals,hashCode,compareTo
- java 防止 XSS 攻击的常用方法总结
- java 防止 XSS 攻击的常用方法总结.