谁能举些例子?声明类型的工作仍然由Java接口承担,但是同时给出一个Java 抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个Java接口,也可以选择继承这个抽象类,也就是说在层次结构中,Java 接口在最上面,然后紧跟着抽象类,哈,这下两个的最大优点都能发挥到极至了。这个模式就是“缺省适配模式”。 在Java语言API中用了这种模式,而且全都遵循一定的命名规范:Abstract +接口名。

解决方案 »

  1.   

    谁能举些例子?抽象类中通常放的是类种事物(对象)共有的属性和方法,于是它的子类继承它的时候
    就自然有了其所有属性和方法,当有些方法是某种子类特有的时,就应该将这个方法分离出来,
    以附加的形式(implements)添加进去。
      

  2.   

    abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。 why?
      

  3.   

    接口类定义行为,抽象类定义模板(template pattern),具体类实现具体细化后的行为。工作中的例子?
      

  4.   

    Java抽象类和接口的理解
      

  5.   

    接口是为了解决Java中不支持多继承的问题---除了这条,没别的原因了吗?
      

  6.   

     List<String> list = new ArrayList<String>(); ---------- 这个叫多态吗?
      

  7.   

     看起来相当专业
    为什么要搞个AbstractUser?UserDetails也是抽象类吗?
      

  8.   

    UserDetails不是继续的接口吗?抽象类必须用abstract声明
      

  9.   

     implements UserDetails是我糊涂了,昨天太晚了,脑子木了
     这个接口会是什么样的?
      

  10.   

    这个接口会是1 or 2?
    //1
    public interface UserDetails {
    public int hashCode();
    public boolean equals(Object object);
    }//2
    public interface UserDetails {
    public abstract int hashCode();
    public abstract boolean equals(Object object);
    }
      

  11.   

    Interface只有static constants & Abstract methods。所以1和2一样?
      

  12.   

    接口可以继承多个,其他的只能单继承  这算是很大的区别了
    接口是 对象间调用方法时 连接的桥梁
    比如:
    电子商城、图库、书城等消费网站 ,在你要卖货付款时 就会调用一些淘宝、银行等商户接口 ,你只需把parter、key 、订单等一些参数放到人家给你的接口就行了,到时给你返回个结果你接收就是了。至于钱是怎么打到商户账户的,你无需知道
    再比如:
    博客、微信分享等功能也是调用接口实现   抽象类   其实就是不完整的类,需要他的子孙们来实现他的愿望
      

  13.   

     是啊,到处都是接口你举的例子是WebServices的应用吗?
      

  14.   

    我对webService这个概念很模糊,上头也是web项目调用接口的简单实例,我个人感觉 接口就是两个部门 交互信息的关卡   你给我东西 我帮你办事 就这么回事
      

  15.   

    我对webService也晕,只是做了几个小实验。能麻烦你给个 书城的连接吗?
      

  16.   

    Quote: 引用 17 楼 qiyuexuel 的回复:

      就会调用一些淘宝、银行等商户接口 , /quote] 不是一个公司的,怎么可以用呢?好奇是如何实现的
      

  17.   

    public interface UserDetails
        extends Serializable
    {    public abstract Collection getAuthorities();    public abstract String getPassword();    public abstract String getUsername();    public abstract boolean isAccountNonExpired();    public abstract boolean isAccountNonLocked();    public abstract boolean isCredentialsNonExpired();    public abstract boolean isEnabled();
    }