• Object类—复写equals方法,hashCode方法,toString方法


    Object:所有类的根类。
    Object是不断抽取而来,具备着所有对象都具备的共性内容。
    class Person extends Object {
    	private int age;
    
    	Person(int age) {
    		this.age = age;
    	}
    
    	/* 老方法:比较Person的年龄。是否是同龄人 */
    	// public boolean compare(Person p) { return this.age ==
    	// p.age; }
    
    	/* 新方法:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。(常用复写equals) */
    	public boolean equals(Object obj)// Object obj = p2;隐藏着向上转型
    	{
    		// 健壮性判断
    		if (!(obj instanceof Person)) {
    			throw new ClassCastException("类型错误");
    		}
    		Person p = (Person) obj;// 向下转型,否则无法调用Person的属性age
    		return this.age == p.age;
    	}
    
    	/* 复写hashcode() */
    	// public int hashCode() {
    	// return age;
    	// }
    
    	/* 复写toString() */
    	// public String toString() {
    	// return "Person:" + "age=" + age;
    	// }
    }
    
    class ObjectDemo {
    	public static void main(String[] args) {
    		Person p1 = new Person(60);
    		Person p2 = new Person(20);
    		// System.out.println(p1.equals(p2));
    
    		// System.out.println(p1);// 默认调用p1.toString
    		// System.out.println(Integer.toHexString(p1.hashCode()));
    
    		/* 是不是同一个类 */
    		// Class clazz1 = p1.getClass();
    		// Class clazz2 = p2.getClass();
    		// System.out.println(clazz1 == clazz2);
    		// System.out.println(clazz1.getName());// Person
    
    		// System.out.println(p1.toString());// Person@61de33
    		// System.out.println(p1.getClass().getName() + "$" +
    		// Integer.toHexString(p1.hashCode()));// Person$61de33
    
    		// System.out.println("==:" + (p1 == p2));
    		// System.out.println("equals:" + p1.equals(p2)); //
    		// equals()方法,比较的是地址值。对于非字符串变量,equals比较的是内存的首地址,这时候和==是一样的,即比较两边指向的是不是同一个对象。
    	}
    }
    

      

     
  • 相关阅读:
    nginx和phpfpm保持长连接
    单件模式+打开窗体+窗体构造函数参数
    Java REST框架一览(转)
    什么原因成就了一位优秀的程序员?(转)
    使用 sqlRest 将数据库转换为 REST 风格的 Web 服务(转)
    浏览器插件之ActiveX开发系列(转载)
    Java JSON技术框架选型与实例(转)
    SQL参数绑定
    ab压力测试工具使用
    Jintegra使用注意事项
  • 原文地址:https://www.cnblogs.com/kkkky/p/6572660.html
Copyright © 2020-2023  润新知