一、反射机制背景概述

  1、反射(reflection)是java被视为动态语言的一个关键性质

  2、反射机制指的是程序在运行时能获取任何类的内部所有信息

二、反射机制实现功能概述

  1、只要给定类的全名,就能通过反射获取类的所有信息

  2、程序在运行是能够获取任何一个对象所属的类对象

  3、在运行时可以获取类的所有属性,并对其操作

  4、在运行时可以获取类、父类的所有方法并调用

  5、当前的主流框架struts2、srping、hiberate等框架的核心功能都是通过java反射机制来实现的

三、反射相关对象的机制与实现

  1、Class对象的机制与实现

    (1)Class对象概述

      Class就是类的类型

    (2)Class常用方法

      getName()获取类的完整名称

      getDeclaredFields()获得类中的所有属性

      getDeclaredMethods()获取类中所有的方法

      getConstructors()获得类的构造方法

      newInstance()实例化类的对象

      等等。。

  2、获取类的三种方式

    (1)Class.forName(String className),className必须是类的全路径

    (2)Book book = new Book(); book.getClass();

    (3)Book.Class;

  在java反射机制中,还有许多重要的对象,比如Field,Method等,此处不一一介绍,可以通过查看javaAPI了解其功能。

java反射学习之一反射机制概述的更多相关文章

  1. Java反射学习-5 - 反射复制对象

    通过反射方式复制对象: package cn.tx.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Fi ...

  2. Java反射学习-4 - 反射调用方法

    反射调用方法: package cn.tx.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Method ...

  3. JAVA基础学习day27--反射机制

    一.概述 1.1.概述 反射的概念: 在Java中的反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法; 这种动态获取信息以及动 ...

  4. java 日常学习记录-反射

    Hero类 package helloworld; public class Hero { public String name; //姓名 public float hp; //血量 public ...

  5. 【java基础学习】反射

    1. 什么是反射 Class.Method.Field.Constructor,它们是反射对象.它们是类.方法.成员变量.构造器,在内存中的形式. 也就是万物皆对象!类是类型.方法是类型.成员变量是类 ...

  6. Java基础学习(1)——反射

    反射就是把Java类中的各种成分映射成相应的Java类(主要用于框架开发) 反射的基石–>Class类 Java程序中的各个类属于同一事物,描述这类事务的Java类名就是Class. Class ...

  7. Java反射学习-3 - 反射获取属性,方法,构造器

    package cn.tx.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import ...

  8. Java反射学习-1 - 反射获取类的属性,方法,构造器

    新建一个Person类 package cn.tx.reflect; /** * 注解初步了解 * @author Administrator * */ public class Person { p ...

  9. java核心技术学习笔记之一程序设计概述

    Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...

随机推荐

  1. Windows+Caffe+VS2013+python接口配置过程

    前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...

  2. day7

    本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  3. [iOS] 为文本加上横线方法

    _oldPriceLabel.text = "; _oldPriceLabel.textColor = [UIColor lightGrayColor]; NSMutableAttribut ...

  4. DateUtil(比较两个日期是否是同一天)

    1.比较两个日期是否是同一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date la ...

  5. 关于.NET知识体系结构图总结

    转载:关于.NET知识体系结构图总结-零度http://www.xcode.me/book/net-framework-maps 最近对.NET框架方面的知识进行了概要的总结,整理了一些知识体系结构图 ...

  6. sharepoint关键位置

    GAC:C:\Windows\assembly,也就是部署的位置: ISAPI位置,SharePoint API:C:\Program Files\Common Files\microsoft sha ...

  7. IE8下导入EXCEL数据传到客户端以附件下载

    IE8下导入EXCEL数据传到客户端以附件下载方式出现,而不显示数据,解决方法:以text/html格式返回. HttpResponseMessage message = new HttpRespon ...

  8. vmware 下centos7配置网络

    步骤一: 虚拟机中的网络设置配置为桥接模式: 步骤二: 注:本人配置的为非静态IP,ip为自动获取 vi /etc/sysconfig/network-scripts/ifcfg-eth0 配置内容如 ...

  9. NetBeans无法使用编码GBK安全打开文件

    刚才使用NetBeans打开php文件时,提示:NetBeans无法使用编码GBK安全地打开该路径下的文件. 找到了解决方案. 原文地址:http://qdjinxin.iteye.com/blog/ ...

  10. PHP socket上传文件图片

    最近了解了下下socket方面的东西,想做一个socket上传文件的例子. 在网上搜了搜代码执行后,图片数据传输了一半,图片的下半部分是灰色的.然后就自己仿着搜来的代码和php.net 中socket ...