第三章 抽象类与接口

抽象类 

概念:

  1. 使用了关键字abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract。
  2. 含有抽象方法的类必须被声明为抽象类。
  3. 抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重 写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。
  4. 被abstract修饰的方法是抽象方法(抽象方法只有声明,没有方法主体(即,没有方法的实现,以分号结束))。抽象方法只能定义在抽象类或接口中。
  5. 不能用abstract修饰变量、代码块、构造器;
  6. 不能用abstract修饰私有方法、静态方法、final的方法、final的类。

 接口

概述:

  • 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。Java不支持多重继承。有了接口,就可以得到多重继承的效果。
  • 继承是一个"是不是"的关系,而接口实现则是 "能不能" 的关系。
  • 接口的本质是契约,标准,规范

 

接口(interface)是抽象方法和常量值定义的集合。

特点:

  • 用interface来定义。 
  • 接口中的所有成员变量都默认是由public static final修饰的。
    [public static final] 返回值类型 方法名(参数列表){方法体}
  • 接口中的所有抽象方法都默认是由public abstract修饰的。
    [public abstract] 返回值类型 方法名(参数列表){方法体} 
  • 接口中没有构造器。 
  • 接口采用多继承机制。

一个类可以实现多个接口,接口也可以继承其它接口。

实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化。否则,仍为抽象类。

接口的主要用途就是被实现类实现。(面向接口编程)

与继承关系类似,接口与实现类之间存在多态性

接口和抽象类之间的对比:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值