由浅入深理解----java反射技术

java反射机制详解

  java反射机制是在运行状态下,对任意一个类可以获取该类的属性和方法,对任意一个对象可以调用其属性和方法。这种动态的获取信息和调用对象的方法的功能称为java的反射机制


  1. class<?>类,在java.lang包下面,class类的实例表示正在运行的java应用程序中的类和接口                                       ?、class是一个类,一个描述类的类(也就是描述类的本身),封装了描述字段的Field、方法Method和构造器的Constructor等属性               ?、对象照镜子后可以得到的信息(某个类的数据成员、方法和构造器、某个类到底实现了那些方法)                                   ?、对于每个类而言,JRE都为其保留一个不变的Class类型的对象                                                       ?、Class对象只能有系统创建对象                                                                          ?、一个类在jvm中只会有一个实例                                                                           注意:class没有公共构造方法,class是在加载类时由java虚拟机已经调用类的加载器中的defineClass方法自动加载的、                
  2. 、继承了java.lang.Object实现了Serializable、AnnotatedElement、GenericDeclaration、Type、
  3. 、涉及的相关方法   
  4. 、反射的好处 :大大增强了程序的可扩展性
  5. 、反射的基本步骤  1、获取Class对象 2、实例化对象 3、访问对象的属性、方法等。。 
  6. 、获取此Class对象有三种方式   Class.forName(classname) 用于做类加载 2、obj.getClass()用于获得对象的类型 3、类名.class
  7. 、创建对象的两种方式  1、调用空参数的构造函数 2、调用带参数的构造函数 
  8. 、利用newInstance() 创建对象 ,调用的对象必须有无参的构造器
  9. 、ClassCloader类加载器                                                                               类加载器是用来把类装载到jvm中,jvm规范中定义了两种类加载器,启动类加载器和用户自定义类加载器。jvm在运行时会产生三个类加载器组成的 初始化加载器层次结构 引导类加载器、扩展类加载器和  系统类加载器                                                          

原文地址:https://www.cnblogs.com/hanxue112253/p/8479549.html

时间: 2024-12-14 18:06:57

由浅入深理解----java反射技术的相关文章

小怪兽 Java反射技术 等你来打

Java反射技术,是java的难点,也是程序员进化过程中的必打小怪兽,这里就根据java api好好研究一下java的反射技术. Class Fields Methods 请先回忆一下[java类的定义]. 一.反射是什么 反射是什么?百度百科这样定义:JAVA反射机制是在运行状态下,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取对象信息以及动态调用对象方法的功能称为java语言的反射机制. 可以这样理解,大家小时候有木有玩过平

Java反射技术学习总结

-------<a href="http://www.itheima.com/"">android培训</a>.<a href="http://www.itheima.com/" ">java培训</a>期待与您交流!---------- Java反射技术就是将java中的类的各个组成部分反射出来变为java中相应的数据类型获得. Java同样将类中的各个组成部分进行封装,变为一个个Java类. C

Android中Java反射技术的使用示例

import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * Android中Java反射技术的使用示例 * 在Java中描述字节码文件(xxx.class)的类叫Class * 反射的过程可视为剖析Class的过

java反射技术实例

java反射技术实例?1. [代码][Java]代码     package com.gufengxiachen.java.reflectiontest; public class Person {private String name;private int age;private static int total;public Person(){super();total++;}public Person(String name,int age){super();this.name=name

java 反射技术

什么是反射?反射就是将字节码中的各种成分映射到相应的java类中来,java反射技术自JDK1.1以来就出现了,目前大多数流行的框架都采用了这种技术,可见其重要性,这篇文章将详细介绍我对java反射技术的一些研究. 代表字节码对象的Class java中所有的类都有自己特有的一份字节码,当程序调用该类时,JVM便会将这份字节码装载到内存中来.在java中主要有三种方法来得到相应的字节码对象. 通过类的实例的getClass()方法获取,如 Class clazz=new Date().getCl

【由浅入深理解java集合】(五)——集合 Map

前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍Map接口下的两个重要的集合实现类HashMap,TreeMap.关于Map的一些通用介绍,可以参考第一篇文章.由于Map与List.Set集合的某些特性有重合,因此观看本篇文章的会参考到之前的一些内容,最下方有链接.如果已经有这方面的基础,那么对Map的学习将会事半功倍. HashMap HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. 既然要介绍HashMap,那么就顺带介绍HashTable

【软件工程】JAVA反射技术

JAVA反射技术 Java 反射技术应用广泛,它能够配置:类的全限定名.方法和参数,完成对象的初始化,甚至是反射某些方法.这样就可以大大增强 Java 的可配置’性, pring IoC 的基本原理也是如此,当然 Spring IoC 的代码要复杂得多. Java 的反射内容繁多,包括对象构建.反射方法.注解.参数.接口等. 通过反射构建对象 Java 中允许通过反射配置信息构建对象,比如 ReflectServicelmpl.java 然后通过反射的方法去构建它 这里的代码就是生成一个对象,然

由浅到深理解java反射

1.基础概念 class类: 1.1java是面向对象的,但是在java中存在两种东西不是面向对象的 一种是普通的数据类型,这也是封装数据类存在的原因. 二种是静态静态成员. 1.2所以我们首先要理解,类也是一种对象,类是java.lang.Class类的对象. 1.3反射的操作其实是执行了编译,获得了类的编译信息,也就是字节码. 1.4获取类类型可以有三种方式: DemoGetClassType.java /** * Created by garfield on 2016/10/11. * 三

Java反射技术

其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员.简单说:反射技术可以对一个类进行解剖. 反射的好处:大大的增强了程序的扩展性. 反射的基本步骤: 1.获得Class对象,就是获取到指定的名称的字节码文件对象. 2.实例化对象,获得类的属性.方法或构造函数. 3.访问属性.调用方法.调用构造函数创建对象. 获取这个Class对象,有三种方式: 1:通过每个对象都具备的方法getClass来获取.弊端:必须