หัวเรื่อง.java
复制代码代码如下:
แพ็คเกจ _20140416_;
นำเข้า java.util.List;
ส่วนต่อประสานสาธารณะเรื่อง {
สตริงสาธารณะพูด (ชื่อสตริง, อายุ int);
รายการสาธารณะ getAllList (ชื่อสตริง);
-
RealSubject.java
复制代码代码如下:
แพ็คเกจ _20140416_;
นำเข้า java.util.ArrayList;
นำเข้า java.util.List;
RealSubject คลาสสาธารณะดำเนินการเรื่อง {
ชื่อสตริงส่วนตัว
RealSubject สาธารณะ (ชื่อสตริง) {
this.name = ชื่อ;
-
สตริงสาธารณะ getName() {
ชื่อผู้ส่งคืน;
-
setName โมฆะสาธารณะ (ชื่อสตริง) {
this.name = ชื่อ;
-
@แทนที่
สตริงสาธารณะพูด (ชื่อสตริง, อายุ int) {
กลับ "名字:" + ชื่อ + "_年龄:" + อายุ;
-
@แทนที่
รายการสาธารณะ <บุคคล> getAllList (ชื่อสตริง) {
รายการ <บุคคล> รายการ = ใหม่ ArrayList<บุคคล>();
list.add(คนใหม่("A", 20));
list.add(คนใหม่("B", 20));
list.add(คนใหม่("C", 20));
list.add(คนใหม่("D", 20));
System.out.println (ชื่อ);
รายการส่งคืน;
-
@แทนที่
hashCode int สาธารณะ () {
กลับ 10010;
-
@แทนที่
บูลีนสาธารณะเท่ากับ (Object obj) {
ถ้า (อินสแตนซ์ obj ของ RealSubject) {
RealSubject จริง = (RealSubject) obj;
System.out.println("getName():"+real.getName());
System.out.println("this.name:"+this.name);
ถ้า(real.getName()==this.name){
System.out.println("相同");
}อื่น{
System.out.println("不相同");
-
-
กลับเป็นจริง;
-
-
MyInvercationHander.java
复制代码代码如下:
แพ็คเกจ _20140416_;
นำเข้า java.lang.reflect.InvocationHandler;
นำเข้า java.lang.reflect.Method;
นำเข้า java.lang.reflect.Proxy;
MyInvercationHander คลาสสาธารณะใช้ InvocationHandler {
วัตถุส่วนตัว obj;
การผูกวัตถุสาธารณะ (วัตถุวัตถุ) {
นี้.obj=obj;
กลับ Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),นี่);
-
@แทนที่
การเรียกใช้วัตถุสาธารณะ (พร็อกซีวัตถุ, วิธีการวิธีการ, วัตถุ [] args)
ขว้างได้ ขว้างได้ {
วัตถุ temp = method.inurge (this.obj, args);
//这里做切เลดี้操作 比如我要加功能
System.out.println("方法之前!");
อุณหภูมิกลับ;
-
-
บุคคล.java
复制代码代码如下:
แพ็คเกจ _20140416_;
บุคคลในชั้นเรียนสาธารณะ {
ชื่อสตริงส่วนตัว
อายุ int ส่วนตัว
สตริงสาธารณะ getName() {
ชื่อผู้ส่งคืน;
-
setName โมฆะสาธารณะ (ชื่อสตริง) {
this.name = ชื่อ;
-
สาธารณะ int getAge() {
อายุกลับ;
-
setAge โมฆะสาธารณะ (อายุ int) {
this.age = อายุ;
-
บุคคลสาธารณะ (ชื่อสตริง อายุ int) {
ซุปเปอร์();
this.name = ชื่อ;
this.age = อายุ;
-
-
MainTest.java
复制代码代码如下:
แพ็คเกจ _20140416_;
นำเข้า java.util.HashMap;
นำเข้า java.util.Iterator;
นำเข้า java.util.Map;
นำเข้า java.util.Set;
MainTest ระดับสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
หัวเรื่อง = (หัวเรื่อง) new MyInvercationHander().bind(new RealSubject("中国"));
System.out.println(subject.say("莫建锋",22));
System.out.println(subject.getAllList("张三"));
แผนที่<String,Integer> myMap = ใหม่ HashMap<String, Integer>();
myMap.put("A",1);
myMap.put("B",2);
myMap.put("C",3);
myMap.put("D",4);
myMap.put("E",5);
ตั้งค่า <Map.Entry<String,Integer>> myEntrySet = myMap.entrySet();
ตัววนซ้ำ<Map.Entry<String,Integer>> it = myEntrySet.iterator();
ในขณะที่(it.hasNext()){
Map.Entry<String,Integer> รายการ = it.next();
System.out.print(entry.getKey()+//////);
System.out.println(รายการ.getValue());
-
System.out.println(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(ข้อมูล==info1);
System.out.println(info.equals(info1));
สั้น i = 1;
System.out.println(i);
-
-