zoukankan      html  css  js  c++  java
  • 抽象类与接口的区别

    抽象类与接口的区别

    抽象类

    抽象方法:只有声明,没有具体的实现。即abstruct关键字修饰。

    1 abstruct void function();

    抽象类与普通类的区别
    1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认情况下默认为 public。
    2.抽象类不能用来创建对象。(如模板模式中通过 Game = new Football()的方式创建具体的对象。)
    3.如果一个类继承了一个抽象类,那么子类必须实现抽象类中声明的抽象方法。(如果不实现的话,那么子类也必须定义为抽象类。)

    接口

    接口,英文名称Interface(Java中接口的关键字)。软件工程中,接口泛指供别人调用的方法或者函数。Java中,它是对行为(常见为声明的方法)的抽象。
    接口中的变量和方法,变量只能是静态常量,且默认是public;方法也只能是public abstruct方法,其中的方法都不能有具体的实现,都是抽象方法。因此可以理解为接口是比抽象类更抽象的东西。注:在接口中一般是不定义变量的。

    1 public interface InterfaceName{}

    抽象类与接口的区别

    从以下几个方面来理解抽象类和接口的区别
    1.成员:抽象类变量可以是各种类型的;接口的属性成员变量只能是静态常量值(public static final修饰)。
    2.方法:抽象类可以具体的方法;接口只能必须有抽象方法。
    3.构造:(由方法可得)抽象类可以有构造器;接口不能有构造器。
    4.继承:一个类只能继承一个抽象类,但可以实现多个方法。
    5.代码块:抽象类可以根据需要有代码块(当有具体方法的时候,如静态代码块);接口没有任何代码块,只有方法。

  • 相关阅读:
    Python TIPS上一道关于人民币金额小写转大写的题
    C Primer Plus--C预处理器和C库(1)
    C Primer Plus--位操作
    C Primer Plus--结构和其他数据类型(2)
    计算机缓存方式对于程序运行的影响
    7. 整数反转
    服务器初始化安装docker、docker-compose
    nacos爬坑史-1
    Kafka 报错: Error Uncaught exception in scheduled task 'flush-log'
    CentOS中docker部署的项目CPU占用率持续100%以上
  • 原文地址:https://www.cnblogs.com/baishouzu/p/12306833.html
Copyright © 2011-2022 走看看