扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
首先为了举例方便,先写个java的类
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 .* 匹配以上的class1和class2,使用*,系统将认为room和实际类之间没有类型。 2) com.company.department . * 匹配class3 3) com.company.departemnt ..* 匹配class1、class2、class3 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开始的方法 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。