java学习笔记09--反射机制】的更多相关文章

java学习笔记09--反射机制 什么是反射: 反射是java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作.例如它允许一个java的类获取他所有的成员变量和方法并且显示出来. java的反射机制的实现要借助4个类:Class,Constructor,Field,Method 其中Class代表的是类对象,Constructor  类的构造器对象,Field  类的属性对象,Method 类的方法对象.通过这四个对象我们可以粗略的看到一个类的各个组成部分. 在正常情况下…
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制. Java 反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类. 在运行时构造任意一…
1.什么是反射? Reflection(反射)是被视为动态语言的关键,反射机制允许程序做执行期间借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象内部属性及方法 2.反射相关的主要API java.lang.Class:代表一个类 java.lang.reflect.Method:代表类的方法 java.lang.reflect.Field:代表类的成员变量 java.lang.reflect.Constructor:代表类的构造方法 3.简单入门示例代码 package…
一.基础知识 对象是表示或封装一些数据,一个类被加载后JVM会创建一个对应该类的Class对象, 类的整个结构信息会被放在对应的对象中,通过这个对象我们可以获取改类的全部信息, 而这些操作称为反射. 二.反射基本操作 2.1获取对象类 上面说了每一个类在加载时会创建一个对应该类的Class对象,这个对象中存放着这个类相对应的信息.我们通过反射可以对这个类进行操作. 那么首先我们要获取这个类对应的Class对象, 我们可以通过Class.forName(path):也可以直接调用该对象getCla…
Java中的类文件最终会被编译为.class 文件,也就是Java字节码.这个字节码中会存储Java 类的相关信息.在JVM执行这些代码时首先根据 java 命令中指定的类名找到.class 文件然后使用类加载器将class字节码文件加载到内存,在加载时会调用Class类的classLoader方法,读取.class 文件中保存类的成员变量.方法.构造方法,并将这些内容在需要时创建对应的对象.这个就是java中的反射机制.反射机制提供了由字符串到具体类对象的映射,提高了程序的灵活性,在一些框架中…
简单工厂模式又称为静态工厂方法模式,它是由工厂对象来决定要创建哪一种类的实例化对象. 静态工厂代码: class Factory{ private Factory() {} public static IMessage getInstance(String className) { if("NetMessage".equals(className)) { return new NetMessage();return null; } } 子类和父接口的定义: interface IMes…
一.反射 反射就是在剖析一个类,了解这个类的构造,创建这个类对应的对象. Class 代表字节码的类,代表类的类 Field 代表属性的类 Method 代表方法的类 Constructor 代表构造方法的类 Annotation 代表注解的类 Package 代表包的类 二.Class类 2.1 获取Class对象:必须有意义 ①通过类名.class的方式来获取对应类的字节码对象 import java.util.List; public class ClassDemo { @Suppress…
反射之中所有的核心操作都是通过Class类对象展开的,可以说Class类是反射操作的根源所在,但是这个类的实例化对象,可以采用三种方式完成. java.lang.Class类的定义: public final class Class<T> extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement, TypeDescriptor.OfField<Class<?>>,…
package cn.xiaocangtian.Exception; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestException3 { public static void main(String[] args) { String str = new TestException3().openFile();…
异常不同于错误,它是程序运行时产生的未知问题. 如果把程序比喻成一辆汽车,那么汽车开着开着突然前面出现了一个大石头挡住了路,这就叫异常. 那么出现了这个异常我们需要去处理,比如打电话给公路管理局,让它们搬走石头. 如果是汽车的发动机坏了,这叫错误. 即使程序本身没有问题,也会因为各种因素产生异常. java秉承面向对象的思想,将异常也以类和对象的形式存在. 一.异常类的结构 异常和错误都继承于Throwable, 在Exception和Error下面还有许多具体的子类,这个可以自行查阅文档. 这…