简单介绍A ectJ类的名称模式

文章作者 100test 发表时间 2007:10:10 13:06:58
来源 100Test.Com百考试题网


  首先为了举例方便,先来个java的类


package simple.example.

class TestWildcard

{

private String userName.

private String city.

private void setUserName(String name)

{

username = name.

}

private void setCity(String city)

{

this.city = city.

}

public void setInfo(String name, String city)

{

setUserName(name).

setCity(city).

}

}

*

1. *是一种能够用来匹配所有类型的特定类型的名称。

2. *能够匹配除了’.’以外的零个或多个符号哦。

例子:

1) call(private void TestWildcard .*(*))

匹配setUserName(String name)

setCity(String city)

注意:不匹配setInfo(String name, String city)的原因有二
它的访问类型是public

它有两个参数,而*只能匹配一个

2) call(* void TestWildcard .*(*))

匹配setUserName(String name)

setCity(String city)

注意:不匹配setInfo(String name, String city)的原因是其参数为两个

..

1. 这个符号既可以匹配任何字符序列,又可以充当通配符,以计算所匹配的参数中的 参数个数

2. 若不用于调用的参数部分或执行连接点中,则通配符”..”能够用来匹配任何以句点 开始和结束的字符序列。

例子:

假设如下的包层次:

com.company.department.room.class1

com.company.department.room.class2

com.company.departemnt.class3

1) com.company.department.room .* 匹配以上的class1class2,使用*,系统将认为room和实际类之间没有类型。

2) com.company.department . * 匹配class3

3) com.company.departemnt ..* 匹配class1class2class3

4) private * com.company.departemnt ..*(..) 匹配com.company.departemnt包层次下的所有似有方法,这些方法可以有任何类型和任何个数的参数。

该通配符可以匹配一个类型层次,而不是单个的类。

假设有如下类:

public class DVD

public class SpecialDVD extends DVD

那么call( DVD.new(..))将只能匹配DVD类的构造函数,而无法找到其子类SpecialDVD的构造函数。

call( DVD .new(..))可以用来匹配DVD类和所有子类的构造函数。

call(public String DVD .set* (String)) 可以用来匹配DVD类层次中所有名称以set开始的方法。



相关文章


用事实说话!AJAX应用程序开发七宗罪
利用HSQLDB进行Hibernate单元测试
J 牵手JSF打造完美的Web应用
Bea hell在人工测试与管理中的应用
简单介绍A ectJ类的名称模式
接口中定义的常量的访问方法
使用ODBC接口访问MySQL
100Test:经济师工商管理试题库汇总
100Test:经济师工商管理试题库(8)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛