Assunto.java
复制代码代码如下:
pacote _20140416_;
importar java.util.List;
interface pública Assunto {
public String say(String nome,int idade);
public List<Pessoa> getAllList(String nome);
}
RealSubject.java
复制代码代码如下:
pacote _20140416_;
importar java.util.ArrayList;
importar java.util.List;
classe pública RealSubject implementa Assunto {
nome da string privada;
public RealSubject(Nome da string) {
este.nome = nome;
}
public String getNome() {
nome de retorno;
}
public void setNome(Nome da string) {
este.nome = nome;
}
@Substituir
public String say(String nome, int idade) {
return "名字:" + nome + "_年龄:" + idade;
}
@Substituir
public List<Pessoa> getAllList(String nome) {
List<Pessoa> list = new ArrayList<Pessoa>();
list.add(nova Pessoa("A", 20));
list.add(nova Pessoa("B", 20));
list.add(nova Pessoa("C", 20));
list.add(nova Pessoa("D", 20));
System.out.println(nome);
lista de retorno;
}
@Substituir
public int hashCode() {
retorne 10010;
}
@Substituir
público booleano igual a(Objeto obj) {
if(obj instância do RealSubject){
RealSubject real = (RealSubject)obj;
System.out.println("getNome():"+real.getNome());
System.out.println("este.nome:"+este.nome);
if(real.getName()==este.nome){
System.out.println("相同");
}outro{
System.out.println("不相同");
}
}
retornar verdadeiro;
}
}
MyInvercationHander.java
复制代码代码如下:
pacote _20140416_;
importar java.lang.reflect.InvocationHandler;
importar java.lang.reflect.Method;
importar java.lang.reflect.Proxy;
classe pública MyInvercationHander implementa InvocationHandler{
objeto privado objeto;
vinculação de objeto público (objeto obj){
isto.obj=obj;
retornar Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this);
}
@Substituir
invocação de objeto público (proxy de objeto, método de método, objeto [] args)
lança Arremessável {
Objeto temp = método.invoke(this.obj, args);
//这里做切面操作 比如我要加功能
System.out.println("方法之前!");
temperatura de retorno;
}
}
Pessoa.java
复制代码代码如下:
pacote _20140416_;
classe pública Pessoa {
nome da string privada;
idade interna privada;
public String getNome() {
nome de retorno;
}
public void setNome(Nome da string) {
este.nome = nome;
}
public int getIdade() {
idade de retorno;
}
public void setAge(int idade) {
esta.idade = idade;
}
public Person(String nome, int idade) {
super();
este.nome = nome;
esta.idade = idade;
}
}
MainTest.java
复制代码代码如下:
pacote _20140416_;
importar java.util.HashMap;
importar java.util.Iterator;
importar java.util.Map;
importar java.util.Set;
classe pública MainTest {
public static void main(String[] args) {
Assunto assunto = (Assunto) new MyInvercationHander().bind(new RealSubject("中国"));
System.out.println(subject.say("莫建锋",22));
System.out.println(subject.getAllList("张三"));
Map<String,Integer> meuMap = new HashMap<String, Integer>();
meuMapa.put("A",1);
meuMapa.put("B",2);
meuMapa.put("C",3);
meuMapa.put("D",4);
meuMapa.put("E",5);
Set<Map.Entry<String,Integer>> myEntrySet = myMap.entrySet();
Iterator<Map.Entry<String,Integer>> it = myEntrySet.iterator();
enquanto(it.hasNext()){
Map.Entry<String,Integer> entrada = it.next();
System.out.print(entry.getKey()+":");
System.out.println(entry.getValue());
}
System.out.println(new RealSubject("中国").hashCode());
System.out.println(new RealSubject("中国").equals(new RealSubject("中dd国")));
String info = new String("1");
String info1 = new String("1");
System.out.println(novo Inteiro('1'));
System.out.println(info.hashCode());
System.out.println(info1.hashCode());
System.out.println(info==info1);
System.out.println(info.equals(info1));
curto eu = 1;
System.out.println(i);
}
}