最近想自己写一个简易版的spring框架,遇到很多反射的问题,在此总结一下。
参考博客:http://10305101ivy.blog.163.com/blog/static/5847658920127933851873/
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
关于方法:
最常用的获取类的方法:clazz= Class.forName("beansManager.BeanDemo"),参数需要包名。
获得所有方法: clazz.getMethods(),clazz.getDeclaredMethods()(获得方法的个数不一样,后者不包括继承的方法,前者不包括私有方法)
获得包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。当然也包括它所实现接口的方法。
clazz.getDeclaredMethod("testMethod",int.class).invoke(clazz.newInstance(),1000)。这句可以理解为找到testMethod(int shuzi) 并赋值参数1000然后执行。
clazz.getMethod(name, parameterTypes) 与上面的用法一样但是不能获得私有方法。
关于属性
field= clazz.getField( String name) 按照属性名字获得属性
clazz.getField("ttt").getInt(clazz.newInstance()) 获得属性ttt的值
相关推荐
在“java反射笔记”这个主题中,我们将深入探讨反射的基础知识和常见用法。 首先,我们需要了解什么是反射。在Java中,反射是指在运行时获取类的信息(如类名、方法名、参数类型等)并动态调用对象的方法或访问其...
Java 反射机制是指通过 Java 语言提供的一些 API 来访问和操作 Java 对象的结构和行为的机制。它允许程序在运行时检查和修改自身的结构和行为,而不需要在编译时知道这些信息。 ### Java 反射机制的应用场景 Java ...
Java反射机制是Java编程语言的一项重要特性,它允许程序在运行时动态地获取类的信息,并且能够对类的属性和方法进行操作。反射机制的核心在于Java的`java.lang.reflect`包,其中包含了`Class`、`Constructor`、`...
Java反射API允许程序在运行时检查类、接口、字段和方法的信息,并能够动态地创建对象和调用方法。这一能力使得Java具有了很高的灵活性,尤其是在处理未知类型的对象或在不修改源码的情况下扩展功能时。 1. **Class...
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
#### 六、Java反射机制 **6.1 反射** - **概念**:运行时获取类信息并操作类的过程。 - **能做什么**: - 获取类的属性、方法等信息。 - 创建对象。 - 调用方法。 - **优点**:提高程序的灵活性。 - **缺点**:...
8. **反射机制**:探讨Java反射API的使用,包括动态获取类信息、创建对象、调用方法等功能,这对于理解和调试程序有很大的帮助。 9. **JVM内部机制**:简述Java虚拟机的工作原理,包括类加载、内存管理、垃圾回收...
1. **反射**:Java反射机制允许在运行时检查类的信息(如类名、方法、字段等),并能动态调用方法和修改字段值,增强了代码的灵活性。 2. **泛型**:泛型提供了一种在编译时检查类型安全的方法,允许在类、接口和...
12. **Java 8及更高版本新特性**:包括Lambda表达式、Stream API、Optional类、日期时间API的改进等。 这些笔记内容全面覆盖了Java的基础和进阶知识,适合从零开始学习Java的人群,通过系统学习,可以建立起扎实的...
Java提供了丰富的API支持网络编程,笔记会讲解Socket编程,包括TCP和UDP协议,以及ServerSocket和Socket类的使用。此外,还将涉及HTTP、HTTPS等网络协议的实现。 【反射与注解】 反射是Java的一个强大功能,笔记会...
8. 新技术趋势:虽然Java语言本身相对稳定,但随着技术的发展,它也在不断演进,如Lambda表达式、Stream API、模块化(Jigsaw项目)等新特性。专业的Java笔记可能会涉及这些内容,帮助学习者掌握Java的最新发展。 ...
在Java API文档中,我们可以找到关于Java语言的基本类、集合框架、网络编程、多线程、I/O流、反射、异常处理、国际化、日期时间、XML处理等多个领域的详细说明。以下是一些关键知识点的概述: 1. **基础类与接口**...
11. **反射(Reflection)**:Java的反射机制允许在运行时动态地获取类的信息并调用其方法,是实现元编程的重要手段。 12. **JVM(Java虚拟机)**:理解JVM的工作原理,包括类加载机制、内存模型(堆、栈、方法区等)...
这份“java思维导图及笔记”压缩包显然包含了对Java语言深入理解的关键元素,旨在帮助初学者和进阶者巩固知识,提升编程技能。以下是根据标题、描述和标签推断出的一些关键知识点: 1. **面向对象编程**:Java的...
15. **Java API的使用**:讲解Java标准库中的各种类和方法,如日期时间API、数学运算、集合操作等。 《Note of Java(Primer).doc》则可能是作者的学习笔记,它可能包含以下特点: 1. **重点标注**:对书中重要的...
除此之外,笔记可能还涉及了Java的最新版本特性,如Java 8的Lambda表达式、函数式接口、Stream API,以及Java 9至14的新特性,如模块化系统、私有接口方法、文本块等。 在实际开发中,测试和调试也是必不可少的部分...
这份"java基础部分的笔记"涵盖了Java编程中的关键概念和技术,包括抽象、特征、映射、流、线程以及反射,这些都是理解Java核心特性和进行高效编程所必须掌握的知识。 1. **抽象**:在Java中,抽象是面向对象编程的...
- **Java 8**:Lambda表达式、Stream API、日期时间API等。 - **Java 9**:模块系统、JShell(REPL)等。 - **Java 11**:长期支持版本,增强HTTP客户端等。 - **Java 17**:继续强化安全性,引入文本块等。 这...
8. **反射机制**:Java反射API允许在运行时动态访问类的信息,包括类名、方法、字段等。学习笔记会讲解如何使用反射进行元编程,以及其在插件系统、序列化和动态代理中的应用。 9. **Java API和库**:Java标准库...