Java的反射机制 形式化方法

1、了解JAVA的反射机制

Java的反射机制 是指在程序的运行状态中,可以构造一个Class对象,通过这个对象调用它的方法可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。

Class类中常见的方法有:

       getName():获得类的完整名字。
  getFields():获得类的public类型的属性。
  getDeclaredFields():获得类的所有属性。包括private 声明的和继承类
  getMethods():获得类的public类型的方法。
  getDeclaredMethods():获得类的所有方法。包括private 声明的和继承类
  getMethod(String name, Class[] parameterTypes):获得类的特定方法,name参数指定方          法的名字,parameterTypes 参数指定方法的参数类型。
  getConstructors():获得类的public类型的构造方法。
  getConstructor(Class[] parameterTypes):获得类的特定构造方法,parameterTypes 参数          指定构造方法的参数类型。
  newInstance():通过类的不带参数的构造方法创建这个类的一个对象。


2、阅读和了解什么是形式化方法

在计算机科学和软件工程领域,形式化方法是基于 数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化方法用于软件和硬件设计,是期望能够像其它工程学科一样,使用适当的数学分析以提高设计的可靠性和 鲁棒性。但是,由于采用形式化方法的成本高意味着它们通常只用于开发注重安全性的高度整合的系统。分类:

根据说明目标软件系统的方式,形式化方法可以分为两类:

1)面向模型的形式化方法。

面向模型的方法通过构造一个数学模型来说明系统的行为。

2)面向属性的形式化方法。

面向属性的方法通过描述目标软件系统的各种属性来间接定义系统行为。

根据表达能力,形式化方法可以分为五类:

1)基于模型的方法:

通过明确定义状态和操作来建立一个系统模型(使系统从一个状态转换到另一个状态)。用这种方法虽可以表示非功能性需求(诸如时间需求),但不能很好地表示并发性。如:Z语言,VDM,B方法等。

2)基于逻辑的方法:

用逻辑描述系统预期的性能,包括底层规约、时序和可能性行为。采用与所选逻辑相关的公理系统证明系统具有预期的性能。用具体的编程构 造扩充逻辑从而得到一种广谱形式化方法,通过保持正确性的细化步骤集来开发系统。如:ITL(区间时序逻辑),区段演算(DC),hoare 逻辑,WP演算,模态逻辑,时序逻辑,TAM(时序代理模型),RTTL(实时时序逻辑)等。

3)代数方法:

通过将未定义状态下不同的操作行为相联系,给出操作的显式定义。与基于模型的方法相同的是,没有给出并发的显式表示。如:OBJ, Larch族代数规约语言等;

4)进程代数方法:

通过限制所有容许的可观察的过程间通信来表示系统行为。此类方法允许并发过程的显式表示。如:通信顺序过程(CSP),通信系统演算 (CCS),通信过程代数(ACP),时序排序规约语言(LOTOS),计时CSP(TCSP),通信系统计时可能性演算(TPCCS)等。

5)基于网络的方法:

由于图形化表示法易于理解,而且非专业人员能够使用,因此是一种通用的系统确定表示法。该方法采用具有形式语义的图形语言,为系统开发和再工程带来特殊的好处。如 Petri图,计时Petri图,状态图等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值