面试-静态代理

2022-01-12 17:22:08 浏览数 (1)

面试-静态代理

目标类、代理接口类、代理类源码如下:

代码语言:javascript复制
package cn.qiu.staticc.inter.imp;

import cn.qiu.staticc.inter.UserInterface;

/**
 * 目标类(核心业务类)
 * @author 秋日芒草
 *
 */
public class UserImpl implements UserInterface{

	@Override
	public String eat() {
		return "eat.....";
	}

}
代码语言:javascript复制
package cn.qiu.staticc.inter;

/**
 * 需要代理的接口
 * @author 秋日芒草
 *
 */
public interface UserInterface {
	public String eat();
}
代码语言:javascript复制
package cn.qiu.staticc.stc;

import cn.qiu.staticc.inter.UserInterface;
import cn.qiu.staticc.inter.imp.UserImpl;

/**
 * 代理类,同时要实现代理的接口
 * @author 秋日芒草
 *
 */
public class UserStatic implements UserInterface{
	
	// 需要包含目标类的引用
	UserImpl userImpl = new UserImpl();

	@Override
	public String eat() {
		System.out.println("日志收集,参数收集开始");
		// 之前的业务
		String eat = userImpl.eat();
		// 之后的业务
		System.out.println("日志收集结束,参数收集结束");
		return eat;
	}
}

0 人点赞