引介的定义:
在现有类的不改变情况下 给现有类增加属性 方法 构造函数 或者指定实现某个接口
继承某个类
1. 内部成员的增加
public String Hello.id = "s";
2. 方法的增加
public void Hello.my()
{
System.out.println("在切面创造了my方法");
}
3. 实现接口
declare parents:Hello implements java.lang.Comparable;
4. 指定继承
declare parents:Hello extends 类
源码1:HelloAspect.aj
importjava.util.Date;
public aspect HelloAspect {
private static long Long;
//引介:申明类里面的属性方法构造函数
public String Hello.id = "s";
public void Hello.my()
{
System.out.println("在切面创造了my方法");
}
pointcut somePointCut():execution(* Hello.sayHello());
before():somePointCut()
{
Long = new Date().getTime();
System.out.println("开始说 ");
}
after() returning(int values):somePointCut()
{
while(values!=0){values--;}
System.out.println("说完了 "+thisJoinPoint.getSignature().getName()+"\n耗时"+(new Date().getTime() - Long)+"ms ");
}
}
源码2:Hello.java
public class Hello
{
public int sayHello()
{
System.out.println("Hello 哥哥");
return 5000000;
}
public static void main(String[] args)
{
Hello h = new Hello();
h.sayHello();
h.my();
}
}