网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 新手入门 > JDK > 简单介绍AspectJ类的名称模式  

简单介绍AspectJ类的名称模式

2007-08-06  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

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

网管论坛bbs_bitsCN_com


package simple.example;

网管论坛bbs_bitsCN_com

class TestWildcard

网管联盟bitsCN@com

{ 网管网www.bitscn.com

       private String userName;

网管u家u.bitscn@com

       private String city; 网管网www_bitscn_com

 

网管网www_bitscn_com

       private void setUserName(String name)

网管网www_bitscn_com

       {

网管下载dl.bitscn.com

              username = name;

网管下载dl.bitscn.com

       } 网管u家u.bitsCN.com

      

网管网www.bitscn.com

       private void setCity(String city)

网管bitscn_com

       {

网管联盟bitsCN_com

              this.city = city; 网管联盟bitsCN@com

       } 网管u家u.bitscn@com

      

中国网管联盟bitsCN.com

       public void setInfo(String name, String city)

网管bitscn_com

       {

网管bitscn_com

              setUserName(name);

中国网管联盟bitsCN.com

              setCity(city);

网管u家u.bitscn@com

       } 网管bitscn_com

}  中国网管论坛bbs.bitsCN.com

网管联盟bitsCN@com

网管网www_bitscn_com

 

网管u家u.bitsCN.com

       * 网管u家u.bitscn@com

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

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

网管u家u.bitsCN.com

例子: 网管联盟bitsCN_com

1)      call(private void TestWildcard .*(*)) 网管u家u.bitscn@com

       匹配setUserName(String name)

网管下载dl.bitscn.com

               setCity(String city) 网管下载dl.bitscn.com

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

                它有两个参数,而*只能匹配一个 网管u家u.bitsCN.com

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

网管联盟bitsCN@com

       匹配setUserName(String name)

网管bitscn_com

               setCity(String city)

网管联盟bitsCN@com

               注意:不匹配setInfo(String name, String city)的原因是其参数为两个 中国网管联盟bitsCN.com

        ..

网管网www.bitscn.com

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

网管bitscn_com

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

例子: 网管联盟bitsCN@com

       假设如下的包层次:

网管联盟bitsCN@com

       com.company.department.room.class1

网管网www_bitscn_com

       com.company.department.room.class2 网管u家u.bitsCN.com

       com.company.departemnt.class3 网管u家u.bitsCN.com

      

网管u家u.bitsCN.com

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

2)      com.company.department . * 匹配class3 中国网管联盟bitsCN.com

3)      com.company.departemnt ..* 匹配class1class2class3 网管bitscn_com

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

网管下载dl.bitscn.com

中国网管论坛bbs.bitsCN.com

 

网管联盟bitsCN@com

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

网管论坛bbs_bitsCN_com

假设有如下类:

网管联盟bitsCN_com

public class DVD 网管网www.bitscn.com

public class SpecialDVD extends DVD 网管u家u.bitscn@com

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

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

网管联盟bitsCN_com

call(public String DVD+.set* (String)) 可以用来匹配DVD类层次中所有名称以set开始的方法。 中国网管论坛bbs.bitsCN.com


TAGs
 上一篇:JRE与JDK在启动应用服务器中的作用   下一篇:用JDring包设置类似于cron的日程提醒
简单介绍AspectJ类的名称模式 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: