• 抽象和接口的区别?


    1.在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势,接口中只能有抽象的方法。
    2.多继承:一个类只能继承一个直接父类,这个父类可以是具体的类也可是抽象类,但是一个类可以实现多个接口。
    3.抽象类可以有默认的方法实现,接口根本不存在方法的实现。
    4.子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明方法的实现。子类使用关键字implements来实现接口。它需要提供接口中所有声明方法的实现。
    5.构造器:抽象类可以有构造器,接口不能有构造器。
    6.和普通Java类的区别:除了你不能实例化抽象类之外,抽象类和普通Java类没有任何区别,接口是完全不同的类型。
    7.访问修饰符:抽象方法可以有public、protected和default修饰符,接口方法默认是public abstract**** 。你不可以使用其它修饰符。接口中的所有属性默认为:public static final ****.
    8.main方法:抽象方法可以有main方法并且我们可以运行它,接口没有main方法,因此我们不能运行它。
    9.速度:抽象类比接口速度要快,接口是稍微有点慢的,因为它需要时间去寻找在类中实现的方法。
    10.添加新方法:如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。如果你往接口中添加方法,那么你必须改变实现该接口的类。

  • 相关阅读:
    用于视频行为识别的双流卷积网络
    python更改默认版本
    ubuntu16安装ROS(包括win10子系统ubuntu同样能用)
    js中的new做了什么?
    Promise是什么?
    滚动轴 scroll
    什么是ES6?
    什么是token及怎样生成token
    mongodb 删库跑路
    css如何设置背景图片?background属性添加背景图片
  • 原文地址:https://www.cnblogs.com/kukudejiafei/p/14135299.html
Copyright © 2020-2023  润新知