zoukankan      html  css  js  c++  java
  • Java抽象类和接口

    1. Java抽象类

      在java中,带有abstract关键字的类被视为抽象类。它可以拥有抽象方法和非抽象方法(带有方法体)

      Java中的抽象

      抽象是仅仅向用户展示功能而隐藏实现细节的过程。另一种方式是,它只向用户展示基本信息并隐藏内部细节,例如发送短信,用户只需要编辑短信内容而无需知道短信是怎么被发送出去的

      抽象让你专注于对象能够做的事情,而不是它如何完成的

      实现抽象的方式

      在java中有两种方式实现抽象:

    1. 抽象类(0%-100%)
    2. 接口(100%)

      抽象类

    1. 抽象类拥有抽象方法和非抽象方法
    2. 需要被继承并且实现它的抽象方法,它不能被实例化
    3. 它可以有构造方法和静态方法
    4. 它可以有final方法但是子类不能重写这个方法

    2. java接口

      在java中,接口是类的蓝图,它拥有静态常量和抽象方法。java接口是一种实现抽象的机制,他们只能包含抽象方法,不能有方法体,接口被用来达到抽象和多继承的目的。

      java接口也代表了以一种is-a的关系。

      我们不能实例化一个接口,就像抽象类那样

      在java8中,我们可以使用default方法和static方法;在java9中,我们可以使用private方法

      为什么使用接口?

      使用接口主要有三个原因:

    1. 接口可以达到抽象的目的
    2. 通过接口,我们能支持多继承的功能
    3. 它可以用来实现松耦合

      编辑器的附加限制:

      The Java compiler adds public and abstract keywords before the interface method. Moreover, it adds public, static and final keywords before data members.

      java编辑器在接口的方法前面增加了public和abstract关键字,在数据成员前增加了static和final关键字

      类与接口的关系

    1. 类可以继承类
    2. 接口可以继承接口
    3. 类可以实现接口

      什么是maker或者tagged interface?

      一个没有成员的接口被视为maker或者tagged interface,例如:Serializable, Cloneable, Remote等,他们被用来提供一些有用的信息给JVM,以便JVM执行一些有用的操作

      嵌套接口

      在另一个接口或类中声明的接口称为嵌套接口。嵌套接口用于对相关接口进行分组,以便它们易于维护。嵌套接口必须由外部接口或类引用,它不能被直接访问

    3. 抽象类和接口的区别

    1. 最主要的区别:抽象类并非100%的抽象;接口是100%的抽象
    2. 抽象类不能实现多继承,接口可以实现多继承

    原文地址:https://www.javatpoint.com/abstract-class-in-java

  • 相关阅读:
    MySQL数据库索引相关
    springMVC架构说明
    @responseBody注解的使用
    springMVC配置
    17_10_31 ./ ../ / ~/
    Nginx的简单操作
    MySQL中sql语句的优化
    Mac下Redis的简单操作
    github下载与安装(windows版)
    结合工程实践选题调研分析3个同类软件产品
  • 原文地址:https://www.cnblogs.com/boboshenqi/p/9530116.html
Copyright © 2011-2022 走看看