一、Object类
1、Object类是所有类的父类,位于java. lang包中,是所有类的根。任何的对象,都可以调用Object类中的方法,包括数组对象。
2、Object和Object[]之间的区别
-方法中的形参是Oject类型时,任何类型的参数都可以传进去执行。
-方法中形参是Oject[]类型时,只有对象数组可以传入执行。
例:public static void arrayTest(Object[] obj){
}
public static void main(){
int [] array = new int [4];
arrayTest(array) //出现错误
}
3、Object类的常用方法
--toString()
格式: public String toString(){
String strName ="所覆写的属性名(字符串)"
return String;
}
通常,toString方法会返回一个"以文本方式表示"次对象的字符串.结果是一个简单易懂的信息表达式.
建议所有子类都重写此方法.
--equals()
把equals写入父类中可以实现多个子类的比较
格式: public boolean equals(Object obj){
String str = this.所定义的属性名 //所有本类中其他的属性属性间用+链接
if(n1 == n2){return true}
else {return false}
}
Object类的equals方法实现对象上差别可能性最大的相等关系;即,对任何非空引用值x和y,当且仅当x和y引用同一个对象时,此方法才返回true(x==y具有值true).
参数: obj -要与之比较的引用对象
返回:如果此对象与obj参数相同,则返回true; 否则返回false.
任何类可以根据实际需要,覆盖toString及equals方法,实现自定义的逻辑.
--hashCode()
获取对象的哈希码值,为16进制
--equals方法与hashCode方法关系
如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同;
如果两个对象equals比较返回false,那么它们的hashCode值不一定不同;
覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同;
在Set集合部分有实际应用.