zoukankan      html  css  js  c++  java
  • JAVA中的接口与抽象类

    1.抽象类

    有abstract修饰的类称为“抽象类”,它只定义了什么方法应该存在,不能创建对象,必须派生出一个子类,并在子类中实现其未实现的方法之后,才能使用new关键字创建对象。
    在方法前加上abstract就形成抽象方法,只有方法声明,没有实现代码

    一个抽象类中可以包含非抽象方法和成员变量。

    2.接口

    定义一个接口,采用关键字interface,实现一个接口,采用关键字implements
    接口的成员函数自动成为public的,数据成员自动成为static和final的。
    如果接口不声明为public的,则自动变为package。
    一个类可以同时实现多个接口。

    可以通过继承接口来扩充已有接口,并形成一个新的接口。

    实现子接口的类,必须实现“父”“子”接口所定义的所有方法,才能被实例化(即new出一个对象)。

     注意:定义在接口中的常量必须被初始化。

    3.区别:

    抽象类是一个不完全的类,而接口只是表明类应该具有哪些“外部”特征,不涉及任何实现细节。
    接口基本上不具备继承的任何具体特点,它仅仅承诺了外界能够调用的方法。
    一个类一次可以实现若干个接口,但一个类只能继承一个父类。

    4.什么情况下用抽象类,什么情况下使用接口?

    如果一个抽象类有多个具体类,每个具体类都使用了同样的方法,那么可以考虑使用抽象类,在抽象里实现,由子类“共享”和“复用”
    接口是用来实现的,而抽象类主要是用来使用父类的实现方法,否则就用接口

  • 相关阅读:
    1.GoldenEye
    centos系统安装问题 dracut-initqueue timeout
    pycharm2019永久激活
    webshell不同马文件分类
    frp内网穿透工具
    永久关闭windows defender
    Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现
    python 基础(三)
    bugku-web(头等舱)
    bugku-web(变量1)
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/11773727.html
Copyright © 2011-2022 走看看