众所周知Java有个Object class,是所有Java classes的继承根源,其内声明了数个应该在所有Java class中被改写的methods: hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Class object。

Class class十分特殊,和一般classes一样继承自Object,其实体用于表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitive Java types(boolean, byte, char, short, int, long, float, double)以及关键词void。

当一个class被加载,或当加载器(Class loader)的defineClass()被JVM调用,JVM便自动产生一个Class object。

Java JDK源码中可以看到Class类的构造方法为私有的,并注释为:Constructor, Only the Java Virtual Machine creates Class objects.只有Java 虚拟机才可以创建Class对象。Class类中包含许多native方法,即本地方法,不是用Java来实现的,而是由C或C++来实现的。

Class是Reflection的起源,针对任何您想探勘的Class,唯有先为它产生一个Class object,接下来才能经由后者唤起为数十多个的Reflection APIs。

Java允许我们从多种途径为一个class生成对应的Class object:

1. 运用getClass();(每个class都有此函数)

2. 运用Class.getSuperclass();

3. 运用static method Class.forName();(最常被使用)

4. 运用.class语法(Class str = String.class)

5. 运用primitive wrapper classes的TYPE语法(Class c1 = Integer.TYPE)

转载于:https://blog.51cto.com/zlfwmm/1718009

Java记录 -89- java.lang.Class相关推荐

  1. java记录目录树_Java记录

    java记录目录树 https://openjdk.java.net/jeps/359概述了Java的新功能,该功能可能会/将在某些将来的Java版本中实现. JEP建议使用一种新的"类别& ...

  2. java 记录考勤记录_Java中的记录器– Java记录示例

    java 记录考勤记录 Today we will look into Logger in Java. Java Logger provides logging in java programming ...

  3. 带有Java Util日志记录的Java 8延迟调用

    在博客文章"在Log4j2中更好地执行非日志记录器调用"中 ,我介绍了可以在Log4j 2中使用的方法,这些方法可以减少或避免在基于指定日志级别实际上根本未记录的日志语句中调用方法 ...

  4. 日常记录:java启动参数 -javaagent的使用,应用启动前添加代理包并且注册Mbean

    前言 有时候是不是很苦恼想在不修改别人的应用(或者统一处理所有的应用)情况下如何添加额外功能?那么-javaagent启动参数就能处理这个问题. 还有上一章讲的(日常记录:java 注册以及获取MBe ...

  5. java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader

    java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...

  6. java 记录考勤记录_Java 14:记录

    java 记录考勤记录 Java 14是在几周前问世的,它引入了Record类型,它是一个不变的数据载体类,旨在容纳一组固定的字段. 请注意,这是一种预览语言功能 ,这意味着必须使用--enable- ...

  7. 记录一下Java中final的作用

    记录一下Java中final的作用   final关键字可以修饰类.成员变量.方法.以及方法中的局部变量. 1.final修饰类   可以使用final将类声明为final类.final类不能被继承, ...

  8. Java - 错误: quot;java.lang.ArrayIndexOutOfBoundsException: length=1; index=1quot;

    错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1" 本文地址: http://blog.csdn.n ...

  9. Java记录 -22- Java的基类Object详解

    Java的基类Object详解 Java的JDK文档要经常查阅使用,最好查看英文的文档. Oracle官方在线 Java API Specifications http://www.oracle.co ...

  10. java的时间变化_通过java记录数据持续变化时间代码解析

    这篇文章主要介绍了通过java记录数据持续变化时间代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.需求:获取count为null和不为n ...

最新文章

  1. selenium webdriver - 结束进程
  2. 网页图片缩放的深入剖析
  3. Ubuntu10.10源
  4. 用Flutter改造ZS项目小记一:界面显示一张图片
  5. OpenCV中利用cvConvertScale()将图像的数据类型由u8转化为64f...
  6. 你需要的不是重构,而是理清业务逻辑(转)
  7. 118. Leetcode 392. 判断子序列 (动态规划-子序列问题)
  8. BigData之Hbase:Hbase数据管理的简介、下载、案例应用之详细攻略
  9. 让XP恢复文件权限功能
  10. Markdown编辑器模板
  11. java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
  12. 学生课堂随机点名系统小结
  13. CHM 格式打开不显示网页
  14. MyBatisX插件没有出现蓝色鸟
  15. 计算机c语言的作用,计算机c语言的特性有哪些
  16. 头哥实践教学平台 CC++程序设计(计算机程序设计)基本输入输出 第2关:整数四则运算表达式的输出格式控制
  17. MetaAI的融合怪:BlenderBot
  18. 在macOS系统电脑上怎么听不到任何耳机声音怎么办?
  19. 面试问题——英语26 改善环境 愿望
  20. (产品贴)网易理财体验

热门文章

  1. Scikit-learn:主要模块和基本使用方法
  2. html圆圈复选框的代码,单选、复选框Demo
  3. mysql服务器系统优化_mysql服务器系统优化
  4. python ndarray转binary_Python 实现Image和Ndarray互相转换
  5. Ros学习笔记(三)创建节点及节点之间通信
  6. oracle+口令+加密算法,Oracle Password Hash
  7. java servlet深入理解_深入理解 Java Servlet
  8. 战舰少女服务器不显示,战舰少女进不去 闪退及连接不上解决方法
  9. 蓝桥杯2019年第十届C/C++省赛B组第八题-等差数列
  10. 力扣-191 位1的个数