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

内部类有些像Java中的方法,可以使用访问权限限定符修饰

也可以使用static关键字修饰等

public class NestedClassInformation {

	public static void main(String[] args) throws ClassNotFoundException{
		Class<?> cls = Class.forName("java.awt.geom.Point2D");
		//获得代表内部类的Class对象组成的数组
		Class<?>[] classes = cls.getDeclaredClasses();
		for (Class<?> clazz : classes) {
			System.out.println("类的标准名称:"+clazz.getCanonicalName());
			System.out.println("类的修饰符:"+Modifier.toString(clazz.getModifiers()));
			//获得所有泛型接口
			Type[] interfaces = clazz.getGenericInterfaces();
			System.out.println("类所实现的接口:");
			if (interfaces.length!=0) {
				for (Type type : interfaces) {
					System.out.println("\t"+type);
				}
			}else {
				System.out.println("\t空");
			}

			//获得直接父类
			Type superClassType = clazz.getGenericSuperclass();
			System.out.println("类的直接继承类:");
			if (superClassType!=null) {
				System.out.println("\t"+superClassType);
			}else {
				System.out.println("\t空");
			}
		}
	}

}

输出结果如下:

时间: 2024-10-09 02:06:33

利用反射——查看内部类信息的相关文章

c#反射机制学习和利用反射获取类型信息

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的名称.限定符和参数等.有了反射,即可对每一个类型了如指掌.如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道 1..NET可执行应用程序结构 程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构. 应用程序结构分为应用程序域—程序集—模块—类型—成员几

通过反射查看类信息

通过反射查看类信息 1.获得Class对象的三个方式 (1)使用Class类的forName(String clazzName)静态方法.该方法需要传入字符串参数,该字符串参数的值是某个类的全限定名(必须添加完整的包名): //例如在JDBC中加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); (2)调用某个类的class属性来获取该类对应的Class对象: //假设现有Student类 //调用该类的class属性获取Class对象 Cla

查看内部类信息

Java中支持在类的内部定义类,这种类称为内部类.内部类有些像Java中的方法,可以使用访问权限限定符修饰,可以使用static修饰等.本实例将利用Java的反射机制来查看内部类的信息,实例运行效果如图 Class类的getDeclaredClasses()方法返回Class对象的一个数组,这些对象反映声明为该Class对象所表示的类的成员的所有类和接口,包括该类所声明的公共.保护.默认(包)访问及私有类和接口,但不包括继承的类和接口.如果该类不将任何类或接口声明为成员,或者该Class对象表示

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

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

跟王老师学注解(五):利用反射读取注解信息

跟王老师学注解(五):读取注解信息 主讲教师:王少华   QQ群号:483773664 一.注解被读取 (一)条件 当一个注解类型被定义为运行时注解后,该注解才是运行时可以见,当class文件被装载时被保存在class文件中的注解才会被Java虚拟机所读取. 要把@Retention注解的value成员变量的值设为RetentionPolicy.RUNTIME (二)办法 我们已知所有的注解都是继承的java.lang.Annotation接口,也就是说Annotation是所有接口的父接口.除

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

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

JDBC 利用反射 配置文件

import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Collection; import java.util.Properties; public class JDBC { p

利用反射api查找一个类的详细信息

说到这个实例,首先介绍下本人,我是一个php程序员,从事drupal开发2年多,可以说从实习开始就接触这个,至今没有换过,drupal给我的感觉是俩字"强大",今天写一个views的字段,然后需要继承views的views_handler_field类,还要自己实现里面的一些方法,走一些自己的配置设置,查看这个类的时候,发现实在是太多信息了,并且做了好些继承,于是我就想要是能实现一个功能,传入一个类名,然后就能返回类的所有信息(包括,属性,方法,继承,接口,并且这些类所放置的文件位置,

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

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