`
flyyouth
  • 浏览: 4893 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java反射机制学习笔记

阅读更多
  由于要把以前做的通信平台的东西加入状态机的处理机制以应用到接下来的一个安全验证项目中去,而且由于要有较高的扩展性,因此我决定对状态机里的包括事件,状态机的转换表等都做到XML文件里面去。这样即可以满足现有的消息传递处理机制的需要又可以解决以后在状态机里加入状态和事件动作等来增强系统的功能。至于性能方面由于只需要在系统初始化的时候解析一次XML然后存入内存,因此整体来讲对系统的性能影响不大。。

  OK,回到正题,讲讲Java的反射机制的东西,由于在状态机中采用的是Command的模式因此要做成可配置的话对Action的名称和对应的类就要做到配置文件里去,然后在需要执行Action的时候就要通过Class.forName("PeerAction")这种方式来取得类PeerAction的一个Class实例。问题出来了,在网上找了半天的资料照着去做硬是不得出来,说ClassNotFoundException。。。。。。搞了半天终于发现是因为我的类PeerAction的构造函数带了参数。。。。而带了参数的话是要通过这种方法来实例化的
(PeerAction) Class.forName("psm.A_Create_New").getConstructor(String.class).newInstance("A_Create_New")

解释下,getConstructor是得到构造函数,里面的String.class是构造函数的参数的类型,后面的那个A_Create_New就是传进去的参数。好了,这样就解决了构造函数带参数的反射机制的应用了。
  还有另外一个问题,就是我按照上面的方法一开始的时候在自己的机子上是死人都不得行,还是那个ClassNotFoundException的错误,在别人的机子上他就ok。郁闷了半天发现是因为我的文件是建在一个包Package fsm;下面的,因此在Class.forName的时候要记得像上面一样的在类的前面加上包的名称。。。。

  就写这么些,希望对碰到类似问题的朋友有帮助。。
分享到:
评论

相关推荐

    java反射机制学习笔记

    Java反射机制是Java编程语言的一项重要特性,它允许程序在运行时动态地获取类的信息,并且能够对类的属性和方法进行操作。反射机制的核心在于Java的`java.lang.reflect`包,其中包含了`Class`、`Constructor`、`...

    java反射机制学习笔记+反射机制实操案例

    总结来说,Java反射机制是Java语言的一个重要特性,它使得程序能够在运行时动态地获取类的信息并进行操作,提高了代码的通用性和适应性。在实际开发中,反射机制常用于框架设计、插件系统、数据持久化等领域,但同时...

    java学习笔记java反射机制

    java学习笔记java反射机制

    java学习笔记(java 反射机制 流 内存管理)

    本笔记主要涵盖了四个核心知识点:Java反射机制、流(I/O流)、内存管理和Java学习的基础。以下是对这些主题的详细阐述: 一、Java反射机制 Java反射机制是Java语言的一个强大特性,允许程序在运行时检查类、接口、...

    JAVA 私塾笔记整理——反射机制(Reflection)

    Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的灵活性和动态性,尤其是在处理对象、类、接口以及它们之间的关系...

    java反射机制.xmind

    自己总结的java反射机制的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合java的爱好者和学习者

    Reflection_in_Java.zip_in_java 反射_java 反射机制_java反射_反射机制

    Java反射机制是Java编程语言中一个强大的特性,它允许运行时的程序动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包下的类如`Constructor`、`Method`和`...

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    java学习笔记markdown

    8. **反射机制**:探讨Java反射API的使用,包括动态获取类信息、创建对象、调用方法等功能,这对于理解和调试程序有很大的帮助。 9. **JVM内部机制**:简述Java虚拟机的工作原理,包括类加载、内存管理、垃圾回收...

    java学习——java中的反射学习笔记.rar_java 反射

    本篇笔记将深入探讨Java反射的概念、重要性以及如何使用。 一、反射基础 1. 类加载:当Java虚拟机(JVM)加载一个类时,它会创建该类的Class对象。这个对象包含了关于类的所有信息,包括方法、字段、构造器等。...

    [Java学习笔记doc]之反射机制

    Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在深入理解这个知识点之前,我们首先需要了解什么是反射。反射是指在运行时,程序可以获取类的...

    java李兴华学习笔记之Java常用类库

    ### Java李兴华学习笔记之Java常用类库 #### 一、课程介绍及知识点概览 根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库...

    Java入门学习笔记

    "Java入门第三季学习笔记"可能涵盖了更多高级话题,如反射、注解、设计模式和Java库的使用。反射允许程序在运行时检查类、接口、字段和方法的信息,提供了更大的灵活性。注解是一种元数据,可以用来提供编译器或运行...

    java学习笔记 - 反射机制,头大的难

    Java反射机制是Java编程语言中的一个强大特性,它允许运行时的Java程序访问、操作类、接口、字段和方法的信息,甚至能够动态调用方法和创建对象。在深入理解Java反射机制之前,我们先要明白类加载的过程。当Java程序...

    JAVA学习笔记 林信良

    最后,书中还涉及了Java的反射机制和注解,这两个高级特性在编写灵活、动态的代码时非常有用。反射允许程序在运行时检查和修改类的信息,而注解则提供了一种元数据的方式,可以用于编译时检查、代码生成和运行时处理...

    Java基础尚硅谷宋红康学习笔记

    1. **反射**:Java反射机制允许在运行时检查类的信息(如类名、方法、字段等),并能动态调用方法和修改字段值,增强了代码的灵活性。 2. **泛型**:泛型提供了一种在编译时检查类型安全的方法,允许在类、接口和...

    Java的反射机制

    在上述内容中,作者提到了一个名为JBBDoc的项目,这可能是一个针对Java反射机制进行学习和记录的个人学习笔记项目。作者通过自己的学习和实践经验,创建了这个项目来帮助自己更好地理解Java反射机制,并希望这些笔记...

    Java学习笔记(源码)

    8. **反射机制**:Java反射API允许在运行时动态访问类的信息,包括类名、方法、字段等。学习笔记会讲解如何使用反射进行元编程,以及其在插件系统、序列化和动态代理中的应用。 9. **Java API和库**:Java标准库...

    良葛格Java JDK 5.0学习笔记

    Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。..."良葛格Java JDK 5.0学习笔记"这份资料应该会详细解释这些概念,为初学者提供宝贵的参考资料。

    良葛格Java JDK 5.0学习笔记ch05

    在这个"良葛格Java JDK 5.0学习笔记ch05"中,我们将深入探讨其中的关键知识点。 一、泛型 Java 5.0引入了泛型,这是一项强大的类型安全机制,允许在编译时检查类型。泛型可以应用于类、接口和方法,通过指定参数...

Global site tag (gtag.js) - Google Analytics