Chinaunix首页 | 论坛 | 博客
  • 博客访问: 698594
  • 博文数量: 111
  • 博客积分: 2109
  • 博客等级: 上尉
  • 技术积分: 1124
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 12:11
个人简介

通信码农,Emacs爱好者,业余IOS程序员,更业余的PM

文章分类

全部博文(111)

文章存档

2018年(2)

2016年(2)

2015年(2)

2014年(13)

2013年(21)

2012年(71)

分类: Android平台

2014-09-24 14:37:05

http://blog.163.com/taodengwen@126/blog/static/87199341201191383429693/



点击(此处)折叠或打开

  1. public interface Person {
  2.     void sayHello();
  3. }


  4. public class Chinese implements Person {
  5.     public void sayHello() {
  6.            System.out.println("您好 !");
  7.     }
  8. }


  9. public class American implements Person {

  10.     public void sayHello() {
  11.                 System.out.println("How do you do .");
  12.            }

  13. }



  14. //传统类里此类new Chinese/American
  15. public class User {
  16.     Person p;
  17.     public Person getP() {
  18.          return p;
  19.     }
  20.      //使用setter注入
  21.     public void setP(Person p) {
  22.        this.p = p;
  23.     }
  24.    

  25.    //调用person子类重写的sayHello方法,这里的p并没有实例化
  26.     public void function(){
  27.        p.sayHello();
  28.     }

  29. }


  30. //外部容器

  31. public class Container{

  32.     public static User getBean(){

  33.         Person p=new Chinese();

  34.         User user = new User();

  35.         //由容器‘注入’实例

  36.         user.setP(p);

  37.         return user;

  38.     }

  39. }


  40. public class Test{

  41.     public static void main(String[] args){

  42.            User user = Container.getBean();

  43.            user.function();

  44.     }

  45. }


依赖注入的三种方式:
http://yejiansuo.iteye.com/blog/789895
阅读(1560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~