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 }

javaObject类—getClass方法的更多相关文章

  1. javaObject类—hashCode方法

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  2. javaObject类-equals方法及覆盖

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  3. Java基础知识强化26:Object类之hashCode()方法、getClass()方法

    1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的 ...

  4. 关于Objects类的getClass方法为什么可以得到子类的地址的思考

    这一段时间,总是很纠结为什么Objects中的getClass方法可以返回包含子类地址信息的东西(我不确定返回值类型). 因为在Java中,我们定义的父类,我想破脑袋也想不出怎么可以得到子类的信息. ...

  5. java中Object类的getClass方法有什么用以及怎么使用?

    Object类的getClass的用法: Object类中有一个getClass方法,m  a  r  k- t  o- w i n:它会返回一个你的对象所对应的一个Class的对象,这个返回来的对象 ...

  6. super.getClass()方法调用

    下面程序的输出结果是多少?import java.util.Date;public class Test extends Date{public static void main(String[] a ...

  7. 对Object类中方法的深入理解

    看一下API中关于Object的介绍: 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 那么Object中到底有哪些方法,各自有什 ...

  8. Java反射中的getClass()方法

    Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代 ...

  9. super.getClass()方法

    下面程序的输出结果是多少? importjava.util.Date; public class Test extends Date{ public static void main(String[] ...

随机推荐

  1. SpringBoot整合quartz实现动态启动,停止定时任务功能

    注意:这个方法当程序重启之后会失效,所以必须将定时任务持久化到数据库,然后程序启动的时候重新把数据库的定时任务加载到quartz中 springboot程序启动初始化代码参考:https://www. ...

  2. windows10源码编译llvm

    准备 cmake, 我目前使用的版本是3.18 llvm 源码, 我下载的是 11.0 我已经具备Vs2015和Vs2017的开发环境. debug模式编译需要较多内存和较多硬盘存储空间. (debu ...

  3. Python obj与JSON相互转换

    1 # _*_ coding:utf-8 _*_ 2 3 def showJson(self, pipefd): 4 overdict = args.__dict__ 5 # 此时就可以用json.d ...

  4. [转]详细ADB使用大全

    原文链接:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也 ...

  5. nim_duilib(1)之第一个dui executable(including configure setting in vs2017)

    before starting clone nim_duilib: https://github.com/netease-im/NIM_Duilib_Framework 迁出github的源码即可. ...

  6. ubuntu下载源码clang + llvm+lldb 编译+安装

    [本文可能涉及到Ubuntu安装以下工具:] A.g++ B.gcc C.make D.cmake E.clang(10.0.1)(必须) F.llvm(10.0.1)(必须) G.lldb(10.0 ...

  7. 【LeetCode】1135. Connecting Cities With Minimum Cost 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Kruskal算法 日期 题目地址:https://l ...

  8. 【LeetCode】505. The Maze II 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 日期 题目地址:https://leetcod ...

  9. 【剑指Offer】连续子数组的最大和 解题报告(Python)

    [剑指Offer]连续子数组的最大和 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...

  10. 【LeetCode】814. Binary Tree Pruning 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 后序遍历 日期 题目地址:https://leetc ...