Object类九大方法之getClass方法

https://www.cnblogs.com/wsw-bk/p/8026266.html

获取此Object的运行时类.

什么是运行时类?

在创建对象前先要有class文件,这是字节码文件,首先要加载class(字节码)文件,后面才能接着运算.

eg:

Demo类和Class类,对他们的共性进行抽取,类文件都有一个共性特点就是他里面都是源文件描述的那些成员,只不过类文件将他们变成了字节码,变成另一种符号形式而已.

他们既然有共性那就可以进行抽取(但这个共性抽取起来比较麻烦,被抽取的内容不是很具体),抽完以后就形成了类,接着我们用java语言对这个字节码文件进行描述.

能描述字节码文件的类就不需要定义了,他里面有,注意大写的C,小写是关键字,大写是类名.

他是专门用来描述字节码文件的类,无论什么样的字节码文件里面都有字段field,就是属性,也是成员变量,无论什么样的字节码文件,里面都有constructor构造器,无论还什么样的类文件里面都有方法.

上述这些都是类文件的组成部分,因此用这个类描述完了类文件这个事物以后,就可以产生类的对象

java的getClass()方法利用的就是反射机制

所谓的反射可以理解为在运行时期获取对象类型信息的操作,传统的变成方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态的获取这些信息,从而编写更加具有可移植性的代码,严格地说,反射并编程语言的特性,因为在任何一种语言都可以实现反射机制,但是如果编程语言本身支持反射,那么反射的实现就会方便很多.

如果有一个实例那么就可以通过实例的getClass()方法获取该对象的类型类,如果你知道一个类型,那么你可以使用.class()的方法获得该类型的类型类.

eg:

getName():获得该类型的全称名称

getSuperClass():获得该类型的直接父类,如果该类型没有父类,那么返回null

getInterfaces():获取该类型实现的所有接口

getCompanentType():如果该类型是一个数组,那么返回该数组的组件类型.

Object类九大方法之getClass方法相关推荐

  1. Object类九大方法之notify和notifyAll方法

    Object类九大方法之notify和notifyAll方法 notify()方法表示,当前的线程已经放弃对资源的占有, 通知等待的线程来获得对资源的占有权,但是只有一个线程能够从wait状态中恢复, ...

  2. Object类九大方法之finalize方法

    Object类九大方法之finalize方法 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法. finalize的作用 ...

  3. Object类九大方法之wait方法

    Object类九大方法之wait方法 wait.notify和notifyAll方法是Object类的final native方法.所以这些方法不能被子类重写,Object类是所有类的超类,因此在程序 ...

  4. 软件测试方法——黑盒测试九大用例设计方法

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持! 导读:面试和工作必备的九大黑盒软件测试方法. 目 ...

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

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

  6. 【Java源码解析】如何严谨地重写 equals 方法、getClass 方法与 instanceof 关键词用法比较

    文章目录 如何严谨地重写 equals 方法 1 equals 方法概述 2 String 类中的 equals 方法 3 自定义 equals 方法时出现的问题 4 instanceof 关键词与 ...

  7. 漫画:Object类很大,你忍一下

    -----  第二天  ----- ------------ 想要了解clone方法的小伙伴,可以看看之前所讲解 原型模式 getClass() getClass方法是干什么的呢?首先,getClas ...

  8. 系统提示“内存不足”的九大原因及解决方法

    一.剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了"复制"或"剪切"命令后,Windows将把复制或剪切的内容及其格式等信息暂 ...

  9. “内存不足”的九大原因及解决方法

    一.剪贴板占用了太多的内存 实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了"复制"或"剪切"命令后,Windows将把复制或剪切的内容及其格式等信息暂 ...

最新文章

  1. wrs-tuya-cloud
  2. 翻译连载 | JavaScript轻量级函数式编程-第7章: 闭包vs对象 |《你不知道的JS》姊妹篇...
  3. kda 处理曲面地图绘制的问题
  4. 基因编辑婴儿追踪:该被编辑的是我们的心
  5. java.library.path在哪?
  6. 如何把Web缓存都充分利用上来?
  7. Kubernetes集群安全:Api Server认证
  8. 程序员写博客如何赚钱「5大盈利方向」
  9. xpath中的contains多个条件的匹配
  10. 原型工具摹客Mockplus快速入门一工具介绍
  11. 剪辑视频的方法有哪些
  12. Android音频子系统(十五)------Audio调试经验
  13. android 进程被回收,Android开发进阶:Activity和进程的回收和状态恢复
  14. android 挖孔屏适配_使用Flexible实现手淘H5页面的终端适配
  15. 《新程序员》杂志|李鹏辉谈开源云原生消息流系统
  16. 流氓 2345.com的新动态及解决方法
  17. python爬虫实战-爬取视频网站下载视频至本地(selenium)
  18. R语言:rvest 包
  19. 【转载】崔庆才爬虫笔记
  20. 程序员的周末可以这样过

热门文章

  1. 基于ESP32 蓝牙游戏手柄设计
  2. 简简单单----一个TMS320F28035的串口驱动程序
  3. LQ-630K/LQ-635K 打印过程中出现卡纸故障的分析与处理
  4. 【Android开发】ViewHolder
  5. 震惊!!某知名企业竟然使用这种方法装系统。
  6. 多重共线性如何分析?
  7. /etc/profile和/etc/profile.d/
  8. C# Newtonsoft.Json 高级用法
  9. 万字谏言,给那些想学Python的人,建议收藏后细看!
  10. CSS优先级算法浅谈