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

注意:

 接口中的

     成员变量:一定为常量、静态,默认修饰符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 的关系。接口中定义的是该继承体系的扩展功能。

转载于:https://www.cnblogs.com/huangytao/p/5681898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值