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

    抽象类:com.lzz.base.AbstractDemo
    1、如果类被声明为abstract,方法不一定要abstract,但如果方法声明为abstract,类必须是abstract
    2、声明为abstract的方法不能有方法体
    3、final与abstact不能同时修饰类
    4、抽象类不能被实例化,但可以有构造器
    5、继承某抽象类的子类,除非子类也是抽象类,否则必须实现抽象类中的抽象方法
    6、抽象类可以继承一个类和实现多个接口
    7、default不能修饰方法,因为它只能在接口中使用

    接口:com.lzz.base.ITest
    1、接口中的方法不能用protected、private,并且没有必要用public修饰,默认是public
    2、default和static方法必须要有方法体,并且可以有多个default或static方法
    3、接口不能有构造器

    区别:
    1、都可以有方法实现,但接口中的方法只能是default或static
    2、抽象类可以有构造器,接口没有
    3、抽象类比接口的速度要快,因为接口需要查找实现该接口的类
    4、抽象类中可以有main方法,接口中没有
    5、如果添加新方法时,抽象类可以直接添加一个方法实现,而接口需要改动所有实现它的类
  • 相关阅读:
    Spring中常用的配置和注解详解
    SpringBoot中的常用配置
    Maven项目创建问题
    hibernate缓存:一级缓存和二级缓存
    Hibernate标准查询
    Hibernate中Hql的查询
    Hibernate中对象的三种状态
    Hibernate中使用load和get加载的区别
    Spring增强
    Spring代理模式
  • 原文地址:https://www.cnblogs.com/goodbye-lazy/p/10192903.html
Copyright © 2011-2022 走看看