`
百合不是茶
  • 浏览: 344083 次
社区版块
存档分类
最新评论

JAVA反射机制和Class类的应用

阅读更多

    反射是对象---->类   在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。

 

 

Class类对象;JAVA中万事万物都是对象,任何创建的类都是Class类的对象,反射其实就是对Class类的API的应用


获取Class类对象的方法:

               1.对象.getClass();
               Class c1 = ch.getClass();
		 System.out.println("+++"+c1);

                 2.类名.class
   		Class c2 = Teacher.class;
		System.out.println("c2"+c2);

               3,Class.forName(类的全名);
		Class c3 = Class.forName("反射.Teacher");

 

API常见的用法

返回类的注释

c3.getAnnotations();

//获得Class类对象的名字

c3.getName();

获取该类的包名

c3.getPackage();

根据类创建对象

c3.newInstance();

 

 

通过获取的类对象得到该类的构造方法;

 

    // 根据反射获取类可见的构造方法,私有的将不可见
     Constructor[] con1 = c3.getConstructors();

 ///根据反射获取全部的构造方法,私有的也可见
  Constructor[] con2 = c3.getDeclaredConstructors();

// 通过指定的参数获取全部的构造方法
  Constructor c = c3.getDeclaredConstructor(String.class, int.class);
 //如果需要操作的构造方法为私有的,设置其为可造作的
   c.setAccessible(true);
// 根据得到的构造方法创建对象
  Object ob = c.newInstance("wang", 23);

 

 

 

2,通过获得的类对象获得该类的属性;

 //获得所有的可见的属性
  Field[] f1 = c3.getFields();

//获取全部的属性
  Field[] f2 = c3.getDeclaredFields();

  //根据指定名称的可见属性获取
  Field f3 = c3.getField("name");
  //设置属性可见
  f3.setAccessible(true);
  //根据指定名称的全部属性获取

  

获取类对象的方法,创建动态数组.......

  • 大小: 11.6 KB
1
1
分享到:
评论

相关推荐

    java反射机制讲解与应用举例

    关于java反射机制的很好的讲解,包括Java的反射机制(Reflection)、Class类、如何获得类的相关信息和运用,并且还有相应的练习,有助于更好地学习java反射机制

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    3.2.5 反射机制的应用场景 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,常见的应用如下 逆向代码 ,例如反编译 与注解相结合...

    Java的反射机制讲解案例代码 Class类、 获取类的结构信息:构造函数、方法和字段,动态创建对象、调用方法和设置属性

    适用于有一定Java编程基础的开发人员,希望了解和应用Java反射机制的使用者。 使用场景及目标 使用反射机制的典型场景包括以下几个方面: 在运行时动态加载和创建类对象。 通过反射调用对象的方法和访问对象的字段...

    Java反射机制 深入浅出

    1、到底什么叫反射 2、Class类的作用 3、Class类的实例化三种...Class类在一般的基本开发是不会有任何作用的,完全可以不会,但是,对于一些高端的开发框架,所有的基本的核心原理都在于反射机制的应用上。 8、代理模式

    【Java】反射机制介绍与Class类的基本能使用(工厂模式)

    Java反射机制与Class类1.Java反射机制1.1 反射机制是什么1.2 反射的应用场合1.3 反射的常用类1.4 反射使用步骤2. Class类2.1 常用方法和示例2.2 获取Class对象的 3 种方法2.3 反射创建对象的 2 种方法3. 工厂设计...

    Java期末复习——枚举与反射机制

    Java——枚举: enum关键字、Enum类 类集对枚举的支持——EnumMap类与EnumSet类 枚举类实现接口、在枚举类中定义抽象方法 Java反射机制: Class类、Class类的使用 反射的应用:取得类的结构

    Java反射学习和反射的应用场景干货都在这里

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制 二、Java反射...

    java反射知识点

    这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 我的代码里主要有一下知识点: 1.获取Class对象的三种方式 2.获取构造方法并调用 3.获取成员方法 4.获取成员变量 5.反射数组 6.通过反射...

    复习反射利用反射机制和AOP代理模式

    reflection是一系列的API,用于表示或者处理当前JVM中的类,接口和对象. java.lang.reflect/java.lang.Class 在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

    Java反射机制应用实践

     Java反射机制是一个非常强大的功能,在很多大型项目比如Spring, Mybatis都可以看见反射的身影。通过反射机制我们可以在运行期间获取对象的类型信息,利用这一特性我们可以实现工厂模式和代理模式等设计模式,...

    Java反射机制与框架原理

    这是『Java学习指南系列』的第18篇教程 ,是Java开发的高级课程,介绍反射机制、注解和框架设计的一般性原理。 二、主要内容  本篇包含以下内容: * 使用反射机制,读取Class中的字段信息 * 使用反射机制,对...

    java反射应用的原理以及应用

    这个文档讲述了反射的原理,以及class的各方面的应用举一反三,全面深入的讲述了反射的机制以及巧妙应用

    Java反射基础入门,一篇就够啦

    文章目录Java基础之反射1 前言2 反射的基本概念3 reflection的工作机制4 构造Class对象方式5 Java反射机制操作的基础套路5.1 Java中的类反射5.2 Java反射机制获取类中构造方法的信息5.3 获取类中方法的信息6 Java...

    Java学习day034 反射(一)Class类、捕获异常、利用反射分析类的能力

    使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。 day034 反射(一)Class类、捕获异常、利用反射分析类的能力 反射库(reflection library)...反射机制的功能极其强大,

    手写IOC项目,学习理解Spring IOC原理

    Java反射机制是在运行状态中,对于任意类,都能够知道这个类的属性和方法;对于任何一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象的方式称为Java语言的反射机制。简单来说,反射机制指...

    Java 反射机制的应用

    类)的路径来实例化一个类的对象,以及通过反射得到一个类的具体结构。 一、Class.forName() 方法实例化类的对象 1、通过无参构造方法实例化对象 通过一个给定的字符串(包.类)的路径,我们可以利用 Class.forName...

    Java开发技术大全(500个源代码).

    示例描述:本章学习对象和类。 accessMember.java 访问成员变量示例 constructNoPara.java 无参数的构造方法 constructWithPara.java 带参数的构造方法 declareDefault.java 缺省访问权限的使用 declarePrivate...

    java反射应用详细介绍

    /** * 通过一个对象获得完整的包名和类名 * */ class Demo{ //other codes… } class hello{ public static void main(String[] args) { Demo demo=new Demo(); System.out.println(demo.getClass

    Java开发详解.zip

    031503_【第15章:Java反射机制】_反射应用——取得类的结构笔记.pdf 031504_【第15章:Java反射机制】_Java反射机制的深入研究笔记.pdf 031505_【第15章:Java反射机制】_动态代理笔记.pdf 031506_【第15章:Java...

Global site tag (gtag.js) - Google Analytics