这就是面向对象,因为ProjectSessionServiceLocator既是ProjectSessionServiceLocator的实例
也是ProjectSessionService的实例继承就是表现的特化关系,可以表述为
ProjectSessionServiceLocator是一种ProjectSessionServiceis-a的关系

解决方案 »

  1.   

    这就是多态啊,servicePSS 声明是用接口,而实例化是用具体类,servicePSS 被动态绑定到了ProjectSessionServiceLocator的实现,你也可以给它绑定到实现了ProjectSessionService 接口的任何一个类上,这样就对外界隐藏了ProjectSessionService 的具体实现,而只需要知道它的接口。这时,servicePSS 就是一个ProjectSessionService ,你可用ProjectSessionServiceLocator中实现了ProjectSessionService 的那些方法。
      

  2.   

    调用new ProjectSessionServiceLocator()对象的任何方法吗?
    可以,这就是接口的好处.
    使用时如果不是接口中定义的方法需要转换
      (ProjectSessionServiceLocator)servicePSS.方法();
      

  3.   

    “ProjectSessionServiceLocator中实现了ProjectSessionService 的那些方法。”--是不是说包含在ProjectSessionServiceLocator类中的那些ProjectSessionService中没有的方法,servicePSS引用不能调用,而只能调用那些ProjectSessionServiceLocator类中的ProjectSessionService接口中有的方法??
      

  4.   

    哦 ,“whbxm2000(学星,向星,摘星,披星) ”已帮我回答了刚才的提问,谢谢!
      

  5.   

    弱弱地再问一下,“对外界隐藏了ProjectSessionService 的具体实现”--这个有掩藏吗?不是照样访问ProjectSessionService中的方法吗?这个“掩藏”到底什么意思?^_^
      

  6.   

    ProjectSessionService 的具体实现可以在ProjectSessionServiceLocator中实现,所以,对外部而言,无论ProjectSessionServiceLocator中有多少方法或者成员,对于ProjectSessionService而言,都是不可见的
      

  7.   

    再土问一个:),下面是接口ProjectSessionService的定义:
    public abstract interface ProjectSessionService extends Service {  // Methods
      String getProjectSessionAddress();
      ProjectSession getProjectSession() throws ServiceException;
      ProjectSession getProjectSession(URL uRL) throws ServiceException;
    }
    ---
    在这个接口定义中,后面两个方法前返回ProjectSession是什么意思?ProjectSession也是一个
    接口啊!什么意思?谢谢!