抽象类与接口

抽象类使用abstract来修饰其定义。

1. 抽象类

抽象类的注意点

  1. 抽象类不能使用new进行实例化。
  2. 含有抽象方法的类都必须被声明为抽象类。
  3. 抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个类还是抽象类。
  4. 接口中的所有方法都是抽象方法,且是public类型
  5. 接口中的所有常量值都是public static final的,即使没有修饰。

抽象类和普通类的区别

1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

2)抽象类不能用来创建对象;

3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。

在其他方面,抽象类和普通的类并没有区别。

2. 接口

接口泛指供别人调用的方法或者函数。从这里,我们可以体会到Java语言设计者的初衷,它是对行为的抽象。

  • 接口中可以含有变量和方法。但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),
  • 方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误),并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法。

实现一个接口,需要实现该接口的所有方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 你很清楚的知道什么时候用抽象类,什么时候用接口么?p.s. 多文字预警! 1 抽象类和接口简介 1.1 抽象类 ...
    Sharember阅读 2,388评论 9 55
  • 一、抽象类 1、抽象类含义的概括: 当多个类出现相同功能时,但功能主体不同,这样可以向上抽取,抽取时只抽取功能定义...
    玉圣阅读 855评论 0 6
  • 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。接口...
    Q南南南Q阅读 383评论 0 3
  • 抽象类abstract 抽象类:如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样...
    jadefly阅读 370评论 0 0
  • 滚动标题栏经常在各种app中出现,比如网易新闻,新浪新闻这类新闻app,还有斗鱼直播app也有出现。这篇文章主要介...
    Atonine阅读 1,572评论 0 1