美文网首页
Java抽象类和接口详解

Java抽象类和接口详解

作者: 好大一颗星 | 来源:发表于2019-03-19 13:47 被阅读0次

《abstract关键字》

——————————

抽象类:含有抽象方法的类。抽象类必须也要用abstract关键字定义。

抽象方法:使用abstract关键字定义的方法,抽象方法没有具体的方法体;抽象类必须也要用abstract关键字定义。

什么时候需要定义抽象方法?一个方法如果在父类中的实现没有任何意义,必须根据子类的实际需求进行不同的实现,就可以将该

方法声明为抽象方法,由子类去重写该方法。

抽象类的特点

  1)抽象类中的抽象方法的访问权限不能为private,否则该方法无法被子类继承,抽象方法就没有任何意义;

  2)一个子类如果继承了抽象类,则必须实现父类中所有的抽象方法,否则,需要将该子类也定义为抽象类;

  3)抽象类和普通类一样,允许拥有普通的方法成员和属性成员;

  4)抽象类不能用来创建实例对象。

《interface关键字》

——————————

接口:使用interface关键字定义的类

1.接口的特点

  1)接口中的数据成员都是public static final——编译时常量 修饰的(默认,若定义为其他则会编译报错)

  2)接口中的方法成员都是抽象方法,都采用public abstract 修饰(默认,定义为其他会编译错误),顾接口中的方法都没有具

体的方法体;

  3)一个子类如果继承一个接口,则必须实现接口中的所有方法(抽象方法)

2. abstract关键字:

1)使用abstract关键字定义的类为抽象类,抽象类不能实例化,可以有非抽象方法以及自己的成员属性。

2)使用abstract关键字定义的方法为抽象方法,抽象方法没有方法体,如果这个方法不被子类重写,将没有任何意义。而

  具有抽象方法的类,必须定义为抽象类。

《接口和抽象类的区别汇总:》

——————————————

  *1)抽象类是对一种事物的抽象,比如鸟类,虫类;而接口是对事物行为的一种抽象,比如鸟类会飞,飞机会飞,就可以将“飞

”这种共有行为抽象出来;

  2)所以,抽象类中可以拥有普通的属性成员和方法成员,但接口中只含有抽象方法和类常量(static final 编译时常量);

  3)所以,一个类是否要继承一个接口,取决于这个类需不需要拥有接口中定义的方法;而一个类需不需要继承一个抽象类,取

决于该类是不是要属于这个类的子类;

举个例子:海鹰要继承鸟类这个抽象类,拥有鸟类基本的属性和方法;海鹰还需要继承 潜水这个接口,使其具有潜水接口中的某些

方法。

  *4)从设计层面上讲,抽象类是一中模板式设计,所有继承抽象类的子类的公共部分需要改动时,只需要改动抽象类即可;而接

口的设计辐射式的,当接口改动时,子类都需要进行变更。

  *5)从使用上讲,因为接口和抽象类都含有抽象方法(abstract修饰的方法,且没有具体的方法体),所以接口和抽象类都不能

实例化。

  *6)一个类只能继承一个类,但是可以继承多个接口!

class 类名 implements 接口1,接口2,...接口n

相关文章

  • 详解Java抽象类和接口

    详解Java抽象类和接口 抽象类 使用了关键字abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个...

  • Java基础-抽象类和接口

    抽象类和接口也是 Java 面试中常考的,下面就来总结一下抽象类和接口的相关知识。 抽象类是类,Java 中类是单...

  • Java抽象类和接口详解

    《abstract关键字》 —————————— 抽象类:含有抽象方法的类。抽象类必须也要用abstract关键字...

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

  • java abstract

    参考java抽象类和抽象方法Android开发:抽象类(abstract class)和接口(Interface)...

  • 深入理解Java的接口和抽象类

    深入理解Java的接口和抽象类

  • Java 接口知识点

    接口的特性 函数式接口 抽象类和接口区别 Lambda表达式 java常用接口

  • java抽象类和接口

    参考:java抽象类和接口--树上月 总结:1.抽象类在java语言中体现的是继承关系,即"is-a"关系,而接口...

  • Java抽象类和接口类

    Java中接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程...

  • Java学习笔记之Java接口 详解

    申明:非原创,转载自 Java接口 详解(一)Java接口 详解(二) 一、基本概念 接口(Interface),...

网友评论

      本文标题:Java抽象类和接口详解

      本文链接:https://www.haomeiwen.com/subject/pcpgmqtx.html