zoukankan      html  css  js  c++  java
  • 抽象类(abrstract class)与接口(interface)有何异同

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

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

    相同点:

    1)都不能被实例化

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

    不同点:

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

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

    多重继承的目的

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

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

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

  • 相关阅读:
    C# 把类实例保存到文件里(类的序列化和反序列化)
    C# 枚举的初始化
    旋转 3d
    asp.net页面间传值方式
    sql获取当前时间
    SqlServer中循环和条件语句示例!
    SQL Server 代理(已禁用代理 XP)
    JQuery源码实现
    C#计算一段程序运行时间的三种方法
    java开发配套版本
  • 原文地址:https://www.cnblogs.com/wutongshu-master/p/10893451.html
Copyright © 2011-2022 走看看