接口、接口与抽象类的区别

注意:

 接口中的

     成员变量:一定为常量、静态,默认修饰符public static final

     构造方法: 没有

     成员方法:必须为抽象,默认修饰符 public Abstract

 1 interface Father{
 2     public abstract void show();
 3 }
 4 interface Mother{
 5     public abstract void show2();
 6 }
 7 
 8 class Son extends Object implements Father,Mother{
 9     public void show(){
10         System.out.println("show ");
11     }
12     public void show2(){
13         System.out.println("show 2");
14     }
15 }
16 
17 class InterfaceDemo3{
18     public static void main(String []args){
19         Father f=new Son();
20         f.show();
21         //f.show2();  错误!编译看左边,运行看右边,左边的 f 中没有show2()这个方法
22         
23         Mother m=new Son();
24         //m.show(); 错误
25         m.show2();//如果实现了接口多集成,那么对应的接口就要调用对用的方法。
26         
27     }
28 }

 

接口与抽象类的区别:

  A:成员区别

    抽象类:

      成员变量: 可以常量,可以变量

      构造方法: 有

      成员方法: 可以抽象,可以非抽象

    接口:

      成员变量: 只可以常量

      成员方法: 只可以抽象(类实现接口时要重写全部抽象方法)

  B:关系区别

    类与类

      继承,单继承

    类与接口:

      实现,单实现,多实现

    接口与接口

      继承,单继承,多继承

  C:设计理念的区别:

    抽象类被继承体现的是: is a 的关系。抽象类中定义的是该继承体系中的共性功能。

    接口被实现体现的是: like a 的关系。接口中定义的是该继承体系的扩展功能。

posted @ 2016-07-18 16:56  alsdf  阅读(205)  评论(0编辑  收藏  举报