自省就是内省,内省在反射包里,是利用反射实现的,内省可以算是对反射的扩充,二者不是一个概念。
内省主要说的,一个类该做哪些事情由这个类本身就决定了,而非外部调用者。
比如一个类只有get和set方法,那么明显这个类的主要任务就是封装数据,则把这个类传入对应内省构造器中,无须你在挨个set。
或者一个负责计算某些值,那你可以要求这个类所有计算方法必须以“compute”开头,则将这个类自动运行而无需关心该计算哪些。
====================================================
反射 与 自省 都是用来判断一个语言是否是动态语言 的标准
下面是 它们的定义(计算机编程中)
反射(reflection)
:
可以在运行时获得对象的类型信息。比如对于一个JAVA对象,它的类型信息包括
1,这个对象的所属的类(class)
2,这个类 的 构造器(constructor)
2,这个类 中 声明的方法(method)
3,这个类中 声明的属性(field)
4,这个类 中 声明的注解(annotation)
5,这个类 的 父类(superclass)
6,这个类 实现的 接口(interface)
自省(
introspection
)
:
默认构造(如通过默认的构造函数可以给一个po中的多个属性赋值)
检查某些事物以确定它是什么、它知道什么以及它能做什么。
对象 的类型信息 就是描述 这个对象 是什么,知道什么,以及能做什么。
我感觉反射 与 自省 其实是一回事,
只是在JAVA中把自省说成反射,在PYTHON中把反射说成自省。
不知道为什么一种事物会有两种说法。。。
分享到:
相关推荐
内省机制和反射机制是两种不同的机制,内省机制主要用于访问某个 Bean 的属性和事件,而反射机制则可以用于访问和操作任何对象的属性和方法。它们经常被结合使用,以便更好地实现实际应用中的需求。
java 反射机制全解 java 反射机制是 Java 语言中的一种动态获取信息和调用对象方法的技术核心。它允许在程序运行时加载、探索以及使用编译期间完全未知的 ....反射机制可以动态地获取内省的信息和调用内省的方法。
本篇文章将深入探讨如何利用反射和内省技术来实现一个简单的Spring IOC。首先,我们来理解什么是反射和内省。 反射是Java提供的一种强大的动态类型机制,它允许程序在运行时检查类的信息,如类名、属性、方法等,并...
在深入了解Java语言的过程中,我们会遇到两个重要的概念:反射和内省。这两种技术在实际开发中有着广泛的应用,尤其是在需要进行动态操作或元数据处理的场景下尤为重要。本文将详细介绍这两者的基本原理、应用场景...
Java反射与内省是Java编程语言中的核心特性,它们为开发者提供了强大的能力,可以在运行时检查和操作类、接口、对象及其属性。本PPT深入探讨了这些概念,旨在帮助开发者充分利用Java平台的灵活性。 首先,Java反射...
4.9反射内省.txt.xmind
反射的定义源自人工智能领域,它主要涉及到两种反射结构:结构反射和计算反射。结构反射侧重于元类与类之间的关系,计算反射则关注于计算层面上的应用领域相关目标计算和系统自身的反射计算。在编程语言中,反射通常...
在这个"酷炫javaweb后台系统"中,包含了一些核心的JavaWeb技术和编程理念,如封装、反射和内省等。这些概念是Java编程的重要组成部分,对于理解和构建高效的应用程序至关重要。 首先,让我们来探讨一下"封装"。封装...
特别详细的java内省思维导图,全方面介绍java内省的功能以及用法用处。
- 遍历和修改对象:通过反射和BeanUtils库,可以遍历对象的所有属性并进行修改,无需知道具体的属性名或setter/getter方法。 - 自动化测试:在测试中,可以使用内省来模拟方法调用,验证对象的状态或行为。 - 框架...
主要探讨的关键词包括Introspection(内省)和Reflection(反射)。内省是指程序在运行时自我检查和分析的能力,而反射则是实现这一能力的关键工具。 通常,动态语言允许程序在运行时改变其结构或变量类型。虽然...
Java IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented ...在源码和工具方面,我们可以学习到如何利用Java的内省API进行类信息的获取,以及如何利用反射和动态代理来实现依赖注入和面向切面编程。
Java中的反射机制是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。在Java 1.5引入的反射API使得开发者可以在编译期未知的情况下,动态地获取类的信息并执行相关操作。以下将详细介绍...
内省是程序自我检查和理解自身结构的能力。在PHP中,内省技术允许开发者在运行时检查类、对象、函数等元素,获取它们的信息,如属性、方法、常量等。这在调试、测试和动态生成代码时尤其有用。PHP内省工具往往提供了...
4. **内省支持**:JavaBean必须支持内省(Introspection),这意味着它可以自描述其属性和行为,方便框架和工具进行自动化处理。 5. **可视化工具兼容性**:为了在可视化应用程序生成工具中应用,JavaBean必须符合...
### Java反射机制详解 #### 一、引言 在Java面试中,经常会出现与反射...以上内容不仅解释了Java反射机制的相关知识点,还通过示例代码进行了实践演示,希望能够帮助你在Java面试中更好地理解和运用这一重要特性。
在Java编程语言中,反射和内省是两个强大的特性,它们允许程序在运行时检查类、接口、字段和方法的信息,甚至动态地调用方法和访问属性。"minimalcode-reflect"项目提供了一个简约的框架,专注于JavaBean的反射和...
内省是指程序自我检查和理解的能力,而反射则是这一能力的具体实现,它使Java程序能够在运行时加载、检查和操作未知的类。 Java的反射API包括`java.lang.Class`以及`java.lang.reflect`包中的`Method`、`Field`和`...