|
@@ -0,0 +1,79 @@
|
|
|
|
+package com.lovecoding.day10.guanjian05;
|
|
|
|
+
|
|
|
|
+public class TestPerson {
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+
|
|
|
|
+// Person person = new Person();
|
|
|
|
+// //输出对象的时候就是调用toString
|
|
|
|
+// System.out.println(person);
|
|
|
|
+// //toString
|
|
|
|
+// System.out.println(person);
|
|
|
|
+//
|
|
|
|
+// /*
|
|
|
|
+// public void println(String x) {}
|
|
|
|
+//
|
|
|
|
+// public void println(Object x) { //兼容匹配 多态参数
|
|
|
|
+// */
|
|
|
|
+//
|
|
|
|
+// System.out.println("-----------------------------");
|
|
|
|
+//
|
|
|
|
+// Object obj = new Person();
|
|
|
|
+//
|
|
|
|
+// //class 属性 方法 构造方法 都存在 class
|
|
|
|
+// Class<?> aClass = obj.getClass();
|
|
|
|
+// System.out.println(aClass);
|
|
|
|
+//
|
|
|
|
+// //方法
|
|
|
|
+// Method[] methods = aClass.getMethods();
|
|
|
|
+// System.out.println(Arrays.toString(methods));
|
|
|
|
+//
|
|
|
|
+// //属性
|
|
|
|
+// Field[] fields = aClass.getDeclaredFields();
|
|
|
|
+// fields[0].setAccessible(true);
|
|
|
|
+// System.out.println(fields[0]);
|
|
|
|
+//
|
|
|
|
+// //Object o = aClass.newInstance();
|
|
|
|
+//
|
|
|
|
+// System.out.println("----------------------------");
|
|
|
|
+//
|
|
|
|
+// Person p1 = new Person();
|
|
|
|
+// Person p2 = new Person();
|
|
|
|
+//
|
|
|
|
+// System.out.println(p1.equals(p2));
|
|
|
|
+//
|
|
|
|
+// System.out.println(1==1);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ public boolean equals(Object obj) {
|
|
|
|
+ return (this == obj);
|
|
|
|
+ }
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ //比较 对象内容 需要重写比较规则
|
|
|
|
+
|
|
|
|
+ Person p11 = new Person("Aa",11);
|
|
|
|
+ Person p22 = new Person("BB",11);
|
|
|
|
+
|
|
|
|
+ System.out.println(p11.equals(p22));
|
|
|
|
+ System.out.println(p11);
|
|
|
|
+ System.out.println(p22);
|
|
|
|
+ //调用equals方法之前
|
|
|
|
+ //先调用hashcode值,确定是否是相同对象 调用equals比较。
|
|
|
|
+
|
|
|
|
+ //hashcode 相同, 对象不一定相同 , 相同的对象hashcode一定相同
|
|
|
|
+
|
|
|
|
+ String a = "Aa";
|
|
|
|
+ String b = "Aa";
|
|
|
|
+
|
|
|
|
+ System.out.println(a.equals(b)); //String 中比较的你内容 , 没有重写比较的 地址
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ String a1 = "Aa";
|
|
|
|
+ String b1 = "BB";
|
|
|
|
+
|
|
|
|
+ System.out.println(a1.hashCode());
|
|
|
|
+ System.out.println(b1.hashCode());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|