• 接口和抽象类你应该知道的基础


    JAVA中的几句箴言:

    抽象类和接口中都可以包含静态成员变量

    抽象类中可以包含静态方法,接口内不能包含静态方法

    abstract不能实例化,只能继承,可以有抽象成员

    抽象类是对类抽象,而接口是对行为的抽象。

     接口:本身没有任何实现,因为Java不涉及表象,而之描述public行为,所以Java接口比Java抽象类更为抽象化。Java的接口可以有public,静态的和final的属性。

     抽象类:不想给出定义,百度给出的定义太高深。不适合我这种小白。

    1、为什么接口内的成员只能是静态的?

      由于接口不能实例化,非静态成员只能通过实例调用,所以必须定义为static的

    2、为什么抽象类也不能被实例化,但抽象类里面可以定义非静态的:  

      由于子类与抽象类的关系中,子类继承抽象类,子类实例化,首先要执行父类的构造器,有构造器就有实例化。

    3、为什么使用接口?

      接口在实际开发过程中最大好处是,你可以按照设计,先把接口写好,然后分配大伙干活的时候,告诉a们去用写好的接口去实现他们的具体功能,而告诉b们,去写那些已经写好但是没有具体的代码的接口,这样可以提高工作效率。对了,另外接口解决了java不能多继承的问题。

    4、为什么使用抽象类:

      抽象类为子类提炼出公共的方法,并提供一个或几个抽象方法留给子类实现;抽象类的设计体现了模板模式的设计思想,即抽象类公共的普通方法依赖一个抽象方法,而抽象方法则推迟到子类中实现细节。

  • 相关阅读:
    ARP 协议
    3GPP 5G UPF
    OpenStack v.s. Kubernetes
    C#- FTP递归下载文件
    C#- WinForm获取 当前执行程序路径的几种方法
    C#- 布署WinForm程序
    Delphi- 连接MySQL数据库BDE
    Delphi- 内置数据库的使用例子BDE
    CSS- 兼容样式记录
    Delphi- DLL操作
  • 原文地址:https://www.cnblogs.com/wabi87547568/p/5433016.html
Copyright © 2020-2023  润新知