• 抽象类(abrstract class)与接口(interface)有何异同


    抽象类:如果一个类中包含抽象方法(用abstract修饰的方法),那么这个类就是抽象类

    接口:是指一个方法的集合,接口中的所有方法都没有方法体

    相同点:

    1)都不能被实例化

    2)接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化

    不同点:

    1)接口只有定义,其方法不能再接口中实现,只有实现接口的类才能实现接口中定义的方法,而抽象类既可以有定义也可以有实现

    2)接口需要实现(implements),抽象类只能被继承(extends)。一个类可以实现多个接口,但只能继承一个抽象类,因此使用接口可以间接地达到

    多重继承的目的

    3)接口中的成员变量默认为public static final,表示静态、不能被修改的,而且必须给其赋初值,其方法会被隐式地指定为public abstract方法且只能是public abstract方法

    抽象类可以有各种类型的成员变量,默认为default(本包可见),也可以被定义为private,protected和public

    4)接口被运用于实现比较常用的功能,便于日后维护或者添加删除方法,而抽象类更倾向于充当公共类的角色,不适用于日后重新对里面的代码进行修改

  • 相关阅读:
    dw2018修改为中文
    C# 响应一个html页面
    layui 时间控件 单击 年直接赋值
    js 正则 测试
    python之读取和写入csv文件
    python安装与配置
    hive支持sql大全
    HiveQL与SQL区别
    Hadoop插件安装
    简单算法学习之快速排序详解
  • 原文地址:https://www.cnblogs.com/wutongshu-master/p/10893451.html
Copyright © 2020-2023  润新知