找对象的方式:
* 方式一:自定义类,通过自定义类创建对象。
* 方式二:sun定义好了很多类,我们只需要认识这些类即可通过这些类创建对象为我们所用。
Object 类:
* Object类是所有类的终极父类。
* Object类常用的方法:
* toString() 返回的字符串使用于描述该对象的(java.lang.Object@3fee733d)
* equals(Object obj) 指示其他某个对象是否与此对象“相等”。默认比较的是内存地址
* hashCode() 返回该对象的哈希码值。
java规范:一般我们再重写equals方法的时候,我们都会重写hashCode方法
package cn.stu.object;
class User {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 重写
*
* @return
*/
public String toString() {
return "姓名:" + this.name;
}
public boolean equals(Object obj){
if(obj instanceof User){
User u = (User)obj;
return this.name.equals(u.name)&&this.age==u.age;
}
return false;
}
public int hashCode(){
return this.age;
}
}
public class Demo1 {
public static void main(String args[]) {
User user1 = new User("张三", 25);
User user2 = new User("张三", 25);
// System.out.println("toString():"+obj.toString());
System.out.println("是同一个对象吗?" + user1.equals(user2));
System.out.println("哈希码1" +user1.hashCode());
System.out.println("哈希码2" + user2.hashCode());
}
}
网友评论