通过反射查看类信息

通过反射查看类信息

1.获得Class对象的三个方式

(1)使用Class类的forName(String clazzName)静态方法。该方法需要传入字符串参数,该字符串参数的值是某个类的全限定名(必须添加完整的包名);

//例如在JDBC中加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");

(2)调用某个类的class属性来获取该类对应的Class对象;

//假设现有Student类
//调用该类的class属性获取Class对象
Class clazz = Student.class;

(3)调用某个对象的getClass()方法。此方法是java.lang.Object中的方法,所以所有的对象都可以使用此方法,该方法回返回该对象所属类对应的Class对象。

//创建Student对象
Student s = new Student();
//使用该对象的getClass()方法获取该对象对应类的Class对象
Class clazz = s.getClass();

2.获取Class对应类所包含的构造器

(1)Constructor<T> getConstructor(Class<?>...parameterType):

  返回此Class对象对应类的、带指定形参列表的public构造器;

(2)Constructor<T>[] getConstructor():

  返回此Class对象对应类的所有public构造器;

(3)Constructor<T> getDeclaredConstructor(Class<?>...parameterType):

  返回此Class对象对应类的、带指定形参列表的与访问权限无关的构造器;

(4)Constructor<T>[] getDeclaredConstructor():

  返回此Class对象对应类的所有构造器,与访问权限无关。

时间: 2024-10-07 12:23:52

通过反射查看类信息的相关文章

java 反射提取类信息, 动态代理 和过滤某些方法演示

package org.rui.classts.reflects; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.regex.Pattern; /** * 提取 类的 方法 构造器 * @author lenovo * */ //{args:ShowMethods} //查看一个类的所有方法和构造器 public class ShowMethods { private

利用反射——查看类的声明

/** *类的声明包括常见修饰符(public.protected.private.abstract.statc.final等). * 类的名称.类的泛型参数.类的集成类(实现的接口)和类的注解等 * Class类的实例表示正在运行的Java应用程序中的类和接口. * 枚举是一种类,注解是一种接口 * 每个数组属于被映射为Class对象的一个类,所有具有相同元素类型和维数的数组都共享该Class对象. * Java的基本类型和关键字void也表示为Class对象,但没有构造方法 * Class对

利用反射——查看类的成员

在一个类的内部,一般包括成员变量.构造方法.普通方法和内部类等 public class ClassViewer { @SuppressWarnings("rawtypes") public static void main(String[] args) throws ClassNotFoundException { Class<?> clazz = Class.forName("java.util.ArrayList"); System.out.pri

利用反射——查看内部类信息

内部类有些像Java中的方法,可以使用访问权限限定符修饰 也可以使用static关键字修饰等 public class NestedClassInformation { public static void main(String[] args) throws ClassNotFoundException{ Class<?> cls = Class.forName("java.awt.geom.Point2D"); //获得代表内部类的Class对象组成的数组 Class&

在窗口中显示类信息

import java.lang.reflect.Field; import javax.swing.JFrame; import javax.swing.BorderFactory; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JLabel

.Net 中的反射(查看基本类型信息) - Part.2

反射概述 和Type类 1.反射的作用 简单来说,反射提供这样几个能力:1.查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata):2.迟绑定(Late-Binding)方法和属性.3.动态创建类型实例(并可以动态调用所创建的实例的方法.字段.属性).序章中,我们所采用的那个例子,只是反射的一个用途:查看类型成员信息.接下来的几个章节,我们将依次介绍反射所提供的其他能力. 2.获取Type对象实例 反射的核心是Type类,这个类封装了关于对象的信息,也是进行反射的入口.当你获得了

QObject提供了QMetaObject元类信息(相当于RTTI和反射),信号与连接,父子关系,调试信息,属性,事件,继承关系,窗口类型,线程属性,时间器,对象名称,国际化

元类信息(相当于RTTI和反射),信号与连接,父子关系,调试信息,属性,事件,继承关系,窗口类型,线程属性,时间器,对象名称,国际化其中元类又提供了:classInfo,className,构造函数,多重祖先元类,method, property, Enumerator, Signal, Slot等等 http://doc.qt.io/qt-5/qobject.html http://doc.qt.io/qt-5/qmetaobject.html 我感觉Qt的出现,除了提供GUI以外,主要就是提

使用FileSystem类进行文件读写及查看文件信息

使用FileSystem类进行文件读写及查看文件信息 在这一节我们要深入了解Hadoop的FileSystem类--这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现,但我们在编码时一般也要注意代码在FileSystem不同子类文件系统之间的可移植性.这是非常有用的,比如说你可以非常方便的直接用同样的代码在你的本地文件系统上进行测试. 使用hadoop URL读数据 从hadoop文件系统中读取文件的最简单的方法之一便是使用java.net.URL对象来打开一个欲从中

C#使用反射机制获取类信息[转]

http://www.cnblogs.com/zhoufoxcn/archive/2006/10/31/2515873.html 1.用反射动态创建类实例,并调用其公有成员函数. //新建一个类库项目,增加一个GetSum方法. using System; namespace ClassLibrary1 { public class Class1 { public Class1() { } public int GetSum(int x, int y) { return x + y; } } }