Тема.java
复制代码代码如下:
пакет _20140416_;
импортировать java.util.List;
публичный интерфейс Тема {
public Stringsay (имя строки, int age);
общедоступный список <Person> getAllList (имя строки);
}
RealSubject.java
复制代码代码如下:
пакет _20140416_;
импортировать java.util.ArrayList;
импортировать java.util.List;
публичный класс RealSubject реализует subject {
частное имя строки;
public RealSubject (имя строки) {
это.имя = имя;
}
публичная строка getName() {
вернуть имя;
}
public void setName (имя строки) {
это.имя = имя;
}
@Override
public Stringsay(Имя строки, int age) {
вернуть «名字:» + имя + «_年龄:» + возраст;
}
@Override
public List<Person> getAllList(имя строки) {
List<Person> list = новый ArrayList<Person>();
list.add(новый человек("A", 20));
list.add(новый человек("B", 20));
list.add(новый человек("C", 20));
list.add(новый человек("D", 20));
System.out.println(имя);
список возврата;
}
@Override
общественный int hashCode() {
вернуть 10010;
}
@Override
общедоступное логическое равенство (Object obj) {
если (объект экземпляра RealSubject) {
RealSubject реальный = (RealSubject)объект;
System.out.println("getName():"+real.getName());
System.out.println("это.имя:"+это.имя);
if(real.getName()==this.name){
System.out.println("相同");
}еще{
System.out.println("不相同");
}
}
вернуть истину;
}
}
MyInvercationHander.java
复制代码代码如下:
пакет _20140416_;
импортировать java.lang.reflect.IndictionHandler;
импортировать java.lang.reflect.Method;
импортировать java.lang.reflect.Proxy;
публичный класс MyInvercationHander реализует InvocationHandler{
частный объект obj;
общественная привязка объекта (объект obj) {
this.obj=объект;
return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this);
}
@Override
Открытый вызов объекта (прокси-сервер объекта, метод метода, аргументы Object[])
бросает Throwable {
Temp объекта = метод.invoke(this.obj, args);
//这里做切面操作 比如我要加功能
System.out.println("方法之前!");
температура возврата;
}
}
Человек.java
复制代码代码如下:
пакет _20140416_;
общественный класс Person {
частное имя строки;
частный возраст;
публичная строка getName() {
вернуть имя;
}
public void setName (имя строки) {
это.имя = имя;
}
общественный int getAge() {
возвратный возраст;
}
public void setAge(int age) {
this.age = возраст;
}
public Person(String name, int age) {
супер();
это.имя = имя;
this.age = возраст;
}
}
MainTest.java
复制代码代码如下:
пакет _20140416_;
импортировать java.util.HashMap;
импортировать java.util.Iterator;
импортировать java.util.Map;
импортировать java.util.Set;
общественный класс MainTest {
public static void main(String[] args) {
Субъект субъекта = (Тема) new MyInvercationHander().bind(new RealSubject("中国"));
System.out.println(subject.say("莫建锋",22));
System.out.println(subject.getAllList("张三"));
Map<String, Integer> myMap = new HashMap<String, Integer>();
myMap.put("А",1);
мояКарта.пут("Б",2);
myMap.put("C",3);
myMap.put("D",4);
myMap.put("Е",5);
Set<Map.Entry<String,Integer>> myEntrySet = myMap.entrySet();
Iterator<Map.Entry<String,Integer>> it = myEntrySet.iterator();
в то время как (it.hasNext ()) {
Map.Entry<String,Integer> запись = 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国")));
Информация о строке = новая строка («1»);
Строка info1 = новая строка («1»);
System.out.println(новое целое число('1'));
System.out.println(info.hashCode());
System.out.println(info1.hashCode());
System.out.println(информация==информация1);
System.out.println(info.equals(info1));
короткий я = 1;
System.out.println(я);
}
}