一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 基于接口實(shí)現(xiàn)java動(dòng)態(tài)代理示例

基于接口實(shí)現(xiàn)java動(dòng)態(tài)代理示例

2019-11-20 15:21Java教程網(wǎng) JAVA教程

這篇文章主要介紹了基于接口實(shí)現(xiàn)java動(dòng)態(tài)代理示例,需要的朋友可以參考下

Subject.java

復(fù)制代碼代碼如下:


package _20140416_;

 

import java.util.List;

public interface Subject {
   public String say(String name,int age);
   public List<Person> getAllList(String name);
}

 

RealSubject.java

復(fù)制代碼代碼如下:


package _20140416_;

 

import java.util.ArrayList;
import java.util.List;

public class RealSubject implements Subject {

 private String name;

 public RealSubject(String name) {
  this.name = name;
 }

 public String getName() {
  return name;
 }

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

 @Override
 public String say(String name, int age) {
  return "名字:" + name + "_年齡:" + age;
 }

 @Override
 public List<Person> getAllList(String name) {
  List<Person> list = new ArrayList<Person>();
  list.add(new Person("A", 20));
  list.add(new Person("B", 20));
  list.add(new Person("C", 20));
  list.add(new Person("D", 20));
  System.out.println(name);
  return list;
 }

 @Override
 public int hashCode() {
  return 10010;
 }

 @Override
 public boolean equals(Object obj) {
  if(obj instanceof RealSubject){
   RealSubject real = (RealSubject)obj;
   System.out.println("getName():"+real.getName());
   System.out.println("this.name:"+this.name);
   if(real.getName()==this.name){
     System.out.println("相同");
   }else{
    System.out.println("不相同");
   }
  }
  return true;
 }
}

 

MyInvercationHander.java

復(fù)制代碼代碼如下:


package _20140416_;

 

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

public class MyInvercationHander implements InvocationHandler{

 private Object obj;

 public Object bind(Object obj){
  this.obj=obj;
  return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this);
 }

 @Override
 public Object invoke(Object proxy, Method method, Object[] args)
   throws Throwable {
  Object temp = method.invoke(this.obj, args);
  //這里做切面操作 比如我要加功能 
  System.out.println("方法之前!");
  return temp;
 }

}

 

Person.java

復(fù)制代碼代碼如下:


package _20140416_;

 

public class Person {
 private String name;
 private int age;

 public String getName() {
  return name;
 }

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

 public int getAge() {
  return age;
 }

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

 public Person(String name, int age) {
  super();
  this.name = name;
  this.age = age;
 }

}

 

MainTest.java

復(fù)制代碼代碼如下:


package _20140416_;

 

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MainTest {
 public static void main(String[] args) {
      Subject subject = (Subject) new MyInvercationHander().bind(new RealSubject("中國(guó)"));
      System.out.println(subject.say("莫建鋒",22));
      System.out.println(subject.getAllList("張三"));
      Map<String,Integer> myMap = new HashMap<String, Integer>();
      myMap.put("A",1);
      myMap.put("B",2);
      myMap.put("C",3);
      myMap.put("D",4);
      myMap.put("E",5);
      Set<Map.Entry<String,Integer>> myEntrySet = myMap.entrySet();
      Iterator<Map.Entry<String,Integer>> it = myEntrySet.iterator();
      while(it.hasNext()){
       Map.Entry<String,Integer> entry = it.next();
       System.out.print(entry.getKey()+":");
       System.out.println(entry.getValue());

      }
      System.out.println(new RealSubject("中國(guó)").hashCode());
      System.out.println(new RealSubject("中國(guó)").equals(new RealSubject("中dd國(guó)")));
      String info = new String("1");
      String info1 = new String("1");
      System.out.println(new Integer('1'));
      System.out.println(info.hashCode());
      System.out.println(info1.hashCode());
      System.out.println(info==info1);
      System.out.println(info.equals(info1));
      short i = 1;
      System.out.println(i);
 }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一区二区视频在线观看 | 数学老师扒开腿让我爽快 | 日本xxxx在线视频免费 | 亚洲精品6久久久久中文字幕 | 国产久草在线 | 国产精品成人免费福利 | 国产成人精品在线观看 | 亚洲午夜精品久久久久久成年 | 嫩草影院地址一地址二 | 天天干夜夜噜 | 色哟约 | 成年人免费在线看 | 日韩免费毛片视频杨思敏 | 和老外3p爽粗大免费视频 | 国产一区二区三区水野朝阳 | 亚洲国产欧美目韩成人综合 | 99久久综合给久久精品 | 好大好硬好湿好紧h | 日韩成人一区ftp在线播放 | 555www成人网 | 9re视频这里只有精品 | 欧美日本一本线在线观看 | 亚洲激情久久 | 久久这里只有精品视频e | 日本一道高清不卡免费 | 久久 这里只精品 免费 | 青草视频在线观看视频 | 扒开女人下面使劲桶屁股动漫 | 四虎麻豆 | 亚洲国产综合另类视频 | 青青成人在线 | a级aaaaaaaa毛片| 亚洲欧美日韩在线观看看另类 | 暴露狂婷婷医院暴露tx | 精品国产综合区久久久久久 | 美女口述又粗又大感觉 | jj免费视频 | 男人天堂网av | 91天堂影院| 亚洲AV精品一区二区三区不卡 | 成人免费视频在 |