Java教程

javaObject类—getClass方法

本文主要是介绍javaObject类—getClass方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 1 package face_object;
 2 /*
 3  * Object:所有类的根类。
 4  * Object是不断抽取而来的,具备所有对象都具备的共性内容。
 5  * 常用的共性功能:
 6  * 
 7  * 
 8  */
 9 
10 /*class Fu {// extends Object
11     Fu(){
12         super();
13     }
14 }
15 class Zi extends Fu {
16     Zi(){
17         super();
18     }
19 }
20 */
21 class Person extends Object{
22     private int age;
23     Person(int age){
24         this.age = age;
25     }
26     //比较Person的年龄。是否是同龄人
27     /*public boolean compare(Person p) {
28         return this.age == p.age;
29     }*/
30     /*
31      * 一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相等的依据。
32      */
33     public boolean equals(Object obj) {//重写
34         if(!(obj instanceof Person)) {
35             throw new ClassCastException("类型错误");
36         }
37         Person p = (Person)obj;
38         return this.age == p.age;
39     }
40     
41     public int hashCode() {
42         return age;//重写哈希值,以年龄作为哈希值
43     }
44 }
45 class Demo {
46     
47 }
48 
49 
50 public class ObjectDemo2 {
51     public static void main(String[] args) {
52         Person p1 = new Person(20);
53         Person p2 = new Person(20);
54         
55         //getClass返回字节码文件对象 在内存中只有一份
56         Class clazz1 = p1.getClass();
57         Class clazz2 = p2.getClass();
58         System.out.println(clazz1 == clazz2);//打印true
59         System.out.println(clazz1.getName());//打印Person
60         
61     }
62 }
View Code

 

这篇关于javaObject类—getClass方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!