1.由于Class类没有公共构造方法,所有创建Class的对象的方法有以下几种:

①通过Class.forName()静态方法返回Class类的一个实例

Class cls = Class.forName("test.dog - 这个网站可出售。 - 最佳的test 来源和相关信息。");

②通过类名.class来获取一个Class类的实例

cls = Dog.class;

③代码运行在非静态区,通过this.getClass()获取Class类的一个实例

Class cls = this.getClass();

2.Class对象既然是描述一个类,那么我们通过该Class的实例能够做什么事情呢?

//类的属性

//获取类名

System.out.println(cls.getName());

System.out.println(cls.getSimpleName());

//获取类的修饰限定符

int modi = cls.getModifiers();

System.out.println(modi);

//获取一个类的属性

//根据一个属性名获取一个public属性的描述

Field field = cls.getField("name");

//获取一个类的全部public属性的描述

Field[] fields = cls.getFields();

System.out.println(fields.length);

//根据一个属性名获取一个在类中声明的属性的描述

Field declaredField = cls.getDeclaredField("gender");

//获取所有在类中声明的属性的描述

Field[] declaredFields = cls.getDeclaredFields();

//获取一个类的方法

//根据一个方法的名字获取类中的一个public的方法的描述

Method method = cls.getMethod("run", String.class,int.class);

//获取所有在类中是public的方法的描述

Method[] methods = cls.getMethods();

//根据一个方法名获取在类中声明的一个方法的描述

Method declaredMethod = cls.getDeclaredMethod("eat", null);

//获取所有在类中声明的方法的描述

Method[] declaredMethods = cls.getDeclaredMethods();

//返回cls所代表的类的实例

Object obj = cls.newInstance();

System.out.println(obj);

java class类_关于创建java中的class类的对象的方法相关推荐

  1. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  2. java面试题43要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( )

    java面试题43要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( ) A让该类不使用任何关键字 B使用private关键字 C 使用protected关键字 D 使用void ...

  3. java 异常机制_深入理解Java异常处理机制

    一.引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我,这个东西可不是想象中 ...

  4. futuretask java 并发请求_图文并茂理解 Java 多线程

    优质文章,及时送达 线程 线程的概念,百度是这样解释的: 线程(英语:Thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的 ...

  5. java 委托原则_为什么说 Java SPI 的设计违反双亲委派原则

    一.双亲委派模型 1.类加载器可以细分为如下三类 启动类加载器(Bootstrap ClassLoader),负责将所有存放在\lib目录中的,或者被-Xbootclasspath参数所指定路径中,并 ...

  6. java list 对象 json字符串_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  7. python创建对象_对Python中9种生成新对象的方法总结

    先定义一个类: class Point: def __init__(self, x, y): self.x = x self.y = y 下面我们使用9种方法来生成新的对象: point1 = Poi ...

  8. 多层json字符串转map_Java中Json字符串直接转换为对象的方法(包括多层List集合)

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  9. 【错误记录】Groovy 闭包使用报错 ( 闭包中不能直接使用外部对象的方法 | 需要先设置 delegate 代理 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Groovy 中的 Closure 闭包中 , 直接调用外部对象的方法 , 会报错 ; class Test {def fun() {print ...

最新文章

  1. ffmpeg播发器(H265)
  2. SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发
  3. org.activiti.bpmn.exceptions.XMLException: src-resolve: 无法将名称 'extension' 解析为 'element declaration'
  4. Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容
  5. powershell运行D盘java_PowerShell:使用相对路径从快捷方式运行脚本
  6. 用CSS伪类制作一个不断旋转的八卦图?
  7. python二进制、字符编码及文件操作
  8. yii2解决资源插件路径不对应问题
  9. ubuntu 是基于debian gnu/linux,在 Ubuntu 或其它 GNU/Linux 系统下安装 Debian
  10. 谷歌 Provisional headers are shown 和360急速模式 网络连接错误
  11. python教程2019全套-Python学习路线2019升级版(课程大纲+视频教程+网盘资源下载)...
  12. delegate vs. event(转自LTP.NET知识库)
  13. Mysqldump 1449 错误解决 mysqldump: Got error: 1449
  14. XP安全防护国际评测 360小红伞卡巴排行前三
  15. TMOD、SCON、PCON寄存器的配置
  16. Cypress Test
  17. 概率统计17——点估计和连续性修正
  18. 自己定义微信图文模板注意事项整理
  19. QTextStream 类(文本流)和 QDataStream 类(数据流)
  20. input限制只能11位的数字电话号码

热门文章

  1. 这是一则计算机视觉顶级会议CVPR与腾讯的爆闻,啥?
  2. 云漫圈 | 有趣的海盗问题 (完整版)
  3. 边缘指示函数matlab,matlab图像处理——傅立叶变换边缘提取
  4. 平板电脑连接投影仪_交互式触控幼教白板如何与平板进行连接-微幼科技
  5. android system.img编译,快速编译system.img和boot.img的方法
  6. 企业微信H5_身份验证,PC网站企业微信扫码授权登录
  7. springboot elasticsearch vue ik中文分词器 实现百度/京东全文搜索
  8. 秒杀场景_多线程异步抢单队列分析与实现_02
  9. linux6/7 下载、安装、配置JDK
  10. 系统架构设计师 - 信息安全技术