一、Class类的介绍

Class类的对象表示的是一个,类在内存中的class文件。

Class clz = String.class 表示String在内存中的class文件。

二、Class类的使用

1.获得Class类的对象

  • 通过Class clz = Class.forName(“完全限定名”);
    获得Class类的对象封装class文件

完全限定名:包名+类名.

  • 通过类名获得Class对象,类名.class

  • 通过某个类的对象,获得Class文件,String类在内存中的class文件。

2. Class类中提供的方法

  • 读取clz对象表示的class文件中的构造方法

    反射将类中的构造方法封装为对象,Constructor的对象。

    Constructor<?>[] cons = clz.getConstructors();
    for(Constructor c:cons) {
    System.out.println(“student----”+c);
    }
    注意:getConstructors()的返回值为一个数组,且该方法的参数是一个可变参数。

可变参数:允许传入长度可变的参数

  • 通过反射获得Student类中的某个构造方法
    Constructor noArgs=clz.getConstructor(null);

  • 通过反射获得三个参数的构造方法,指定对应的参数对应的Class类的对象作为实参
    Constructor inArgs=clz.getConstructor(Integer.class,String.class,String.class);

  • 读取clz对象表示的class文件中的成员方法

  1. clz.getMethods()

只能获得公共方法,包括从父类中继承的方法

例:Method[] methods = clz.getMethods();
for(Method m:methods) {
/ /打印出得到的方法名
System.out.println(“student-method====”+m);
}

  1. clz.getDeclaredMethods()

只能获得本类中的成员方法(public,private,protect.default)

例:Method[] methods2 = clz.getDeclaredMethods();
for(Method m:methods2) {
System.out.println(“student-method2====”+m);
}

Class类的介绍和基本使用方法相关推荐

  1. OC中文件读取类(NSFileHandle)介绍和常用使用方法

    NSFileHandle 1.NSFileManager类主要对于文件的操作(删除,修改,移动,赋值等等) //判断是否有 tagetPath 文件路径,没有就创建NSFileManager *fil ...

  2. java中Object和Objects类、toString方法和equals方法介绍

    Object类: Object类位于java.lang包中,lang包下的类无需导包就可以使用,object是Java语言中的根类,即所有类的父类.Object中描述的所有方法其子类都可以使用.在对象 ...

  3. Java基础-Date类常用方法介绍

    Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...

  4. c# BackgroundWorker组件介绍(属性、方法、事件)

    c# BackgroundWorker组件介绍(属性.方法.事件) 2008-07-03 16:28 在VS2005中添加了BackgroundWorker组件,该组件在多线程编程方面使用起来非常方便 ...

  5. 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...

    译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...

  6. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  7. 介绍Python的魔术方法 - Magic Method

    前言 在Python中,所有以__双下划线包起来的方法,都统称为"魔术方法".比如我们接触最多的__init__. 有些魔术方法,我们可能以后一辈子都不会再遇到了,这里也就只是简单 ...

  8. c#图像处理入门(-bitmap类和图像像素值获取方法)

    c#图像处理入门 -bitmap类和图像像素值获取方法 一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义 ...

  9. Foundation框架中常用类的介绍

    http://blog.csdn.net/mengtnt/article/details/6087536 Foundation框架的架构 cocoa程序编写主要用到2个框架Foundation和App ...

最新文章

  1. 深入理解PHP原理之变量(Variables inside PHP)
  2. JPA相关--Annotation
  3. 机器学习各领域必读经典综述
  4. WPF设置ListBoxItem失去焦点时的背景色
  5. python鸢尾花数据集_Python实现鸢尾花数据集分类问题——使用LogisticRegression分类器...
  6. Insta360:从软到硬,一年做出360°全景相机,中间填了多少坑?
  7. JUnit规则–引发异常时执行附加验证
  8. [渝粤教育] 天津现代职业技术学院 餐饮服务实务(翁莉) 参考 资料
  9. 以太坊白皮书_以太坊发展历程
  10. STS安装 activiti-designer-5.18.0插件
  11. 消息中间件Kafka与RabbitMQ谁更胜一筹?
  12. 导航抽屉(Google+与YouTube)
  13. 使用Boostrap,左侧菜单栏固定宽度,右侧自适应宽度。
  14. vue 引入vue-resource给页面加点动态数据
  15. python镜像安装教程_PIP镜像方式安装PYTHON包步骤
  16. python金融衍生品大数据分析 pdf_Python金融衍生品大数据分析:建模、模拟、校准与对冲...
  17. oracle瓶颈,解决Oracle数据库性能瓶颈问题
  18. Python字符串格式化
  19. 怎样计算机表格中算出平均值,怎样设置excel自动计算平均值
  20. 设置vscode默认终端为msys/MinGW32/MinGW64

热门文章

  1. matlab fun函数问题
  2. 杜洋-面包板入门电子制作——启发您的电子技术基础
  3. 新手如何学习单片机?
  4. LOAM系列——ISCLOAM配置、编译、问题解决及VLP16测试效果(完结版)
  5. SQL注入8之其他类型注入
  6. 分享到 Line 會遇到的問題整理
  7. DevOps:5大工具
  8. 无人机驾驶员培训学习记录(二)
  9. 恶性循环:舍不得投资,得不到回报
  10. 如何查看小米手机的IP地址和MAC地址