01. 에이전트 모드
프 록 시 (Proxy) 는 디자인 모델 로 대상 에 대한 다른 접근 방식 을 제공 합 니 다.프 록 시 대상 을 통 해 대상 에 접근 하 는 것 입 니 다.
밤.
소 대 강 은 먹 지도 마 시 지도 않 고 집 을 사려 고 한다.
정적 에이전트
/**
* ,
* @author Administrator
*
*/
public interface IZuo {
//
void buyHouse();
}
/**
*
* @author Administrator
*
*/
public class SuDaQiang implements IZuo{
@Override
public void buyHouse() {
System.out.print(" ");
}
}
/**
*
* @author Administrator
*
*/
public class SuMingZhe implements IZuo{
private IZuo iZuo;
public SuMingCheng(IZuo iZuo) {
this.iWanKe = iWanKe;
}
@Override
public void buyHouse() {
iWanKe.buyHouse();
}
}
/**
*
* @author Administrator
*
*/
public class TestActivity {
public static void main(String[] args) {
SuDaQiang suDaQiang = new SuDaQiang();
SuMingZhe suMingCheng = new SuMingZhe (suDaQiang);
suMingCheng.buyHouse();
}
}
소 대 강 이 또 요괴 가 되 기 시작 했다. 나 는 채 근 화 보 배 를 원한 다. 어 떡 하지? 힘 들 어 죽 겠 어, 소명 철?동적 에이전트 에 게 맡 겨 주세요.
동적 에이전트
public class TestActivity {
public static void main(String[] args) {
// IZuo , java , jni
IZuo zuo = (IZuo)Proxy.newProxyInstance(
//ClassLoader
IZuo.class.getClassLoader(),
//
new Class>[]{IZuo.class},
new Handle(new SuDaQiang()));
// Handle invoke
zuo.buyHouse();
// , ,
zuo.marry();
}
}
public class Handle implements InvocationHandler{
private Object mObject;
public Handle(Object object) {
this.mObject = object;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
//
//
Object object = method.invoke(mObject, args);
return object;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.