您的位置:首页 > 编程语言 > PHP开发

nfs、dhcp、tftp组建远程无人值守系统安装

2014-06-24 13:19 399 查看
代理接口:
package ProxyPattern;

public interface Italk {
public void talk(String msg);
}


RealSubject:
package ProxyPattern;

public class People implements Italk {
public String username;
public String age;

public String getName() {
return username;
}

public void setName(String name) {
this.username = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public People(String name1, String age1) {
this.username = name1;
this.age = age1;
}

public void talk(String msg) {
System.out.println(msg + "!你好,我是" + username + ",我年龄是" + age);
}
}


代理类:
package ProxyPattern;

public class TalkProxy implements Italk {
Italk people;

public TalkProxy(Italk people) {
this.people = people;
}

public void talkProxy(Italk people) {
this.people = people;
}

public void talk(String msg) {
people.talk(msg);
}

public void talk(String msg, String singname) {
people.talk(msg);
sing(singname);
}

private void sing(String singname) {
System.out.println("唱歌:" + singname);
}
}


测试:
package ProxyPattern;

public class MyProxyTest {

public static void main(String[] args) {

People people1 = new People("湖海散人", "18");
people1.talk("No ProXY Test");

System.out.println("-----------------------------");

TalkProxy talker = new TalkProxy(people1);
talker.talk("ProXY Test", "七里香");
}
}


另外一种代理模式:
动态代理:


package Dybamic;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class Handler implements InvocationHandler {

public Object targetObj;

public Handler(Object targetObj) {
this.targetObj = targetObj;
}

@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {

System.out.println("before the function \"" + method.getName() + "\"");
Object ret = method.invoke(targetObj, args);
System.out.println(ret);
System.out.println("after the function \"" + method.getName() + "\"");
return ret;

}

}


动态代理测试:

package ProxyPattern;

package Dybamic;

import java.lang.reflect.Proxy;

public class testMain {

public static void main(String[] args) {

IUser realUser = new UserImp("sun");
Handler hand = new Handler(realUser);
IUser proxy = (IUser) Proxy.newProxyInstance(realUser.getClass()
.getClassLoader(), realUser.getClass().getInterfaces(), hand);
proxy.getName();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: