zoukankan      html  css  js  c++  java
  • 抽象类和接口

    抽象类:

    (1)抽象类必须使用abstract来修饰,抽象方法也必须使用abstract来修饰,抽象方法不能有方法体。
    (2)抽象类不能被实例化,即使抽象类中不包含抽象方法,也不能创建实例。
    (3)抽象类可以包含成员变量,方法,构造器,初始化块,内部类(接口和枚举)5个成分。抽象类中构造器主要用于被子类调用,不能用于创建实例。
    (4)含有抽象方法的类只能被定义成抽象类。
    abstract不能修饰成员变量,局部变量,构造器。

     
    接口类:
    (1)接口中可以包含成员变量(只能是静态方法public static final),方法(public abstract,JDK1.8开始可以定义一个默认方法)和内部类(public static)。不包含构造器和初始化块。
     
    区别:
    (1)抽象类可以有构造器和代码块,接口中没有
    (2)抽象类可以包含普通成员变量,接口中没有普通成员变量。
    (3)抽象类可以包含非抽象的普通方法,接口中的方法必须都是抽象的。
    (4)抽象类中抽象方法的访问类型可以是public,protected,但接口中的抽象方法默认是Public abstract
    (5)抽象类中可以包含静态方法,接口中不能包含静态方法。
    (6)抽象类中的静态成员变量的访问类型可以任意,接口中的访问类型只能是public static final
    (7)一个类可以实现多个接口,但只能继承一个类。
  • 相关阅读:
    实现一个WEBIM
    拼写纠错
    UML系列图用例图
    [bzoj1670][Usaco2006 Oct]Building the Moat
    [bzoj3626][LNOI2014]LCA
    转:用JS写的一个树型结构
    一个购物车中修改商品数量的实列
    网站访问统计在Global.asax中的配置的深入讨论
    转:JavaScript中的三级联动
    转:用Sql Server存储上载图片字体
  • 原文地址:https://www.cnblogs.com/wujianzhou/p/8435286.html
Copyright © 2011-2022 走看看