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)一个类可以实现多个接口,但只能继承一个类。
  • 相关阅读:
    C#--带参SQL语句数通用数据访问类
    VS 2017产品密匙
    关于编码中的字符和字节问题
    关于C++中的cin用法
    C++基础(一、基本语法,Hello World)
    Oracle查看用户所在的表空间
    静态变量、枚举、以及静态代码块的使用场景
    Java 枚举(enum) 详解7种常见的用法
    第一章 对象和封装
    摘抄Java反射
  • 原文地址:https://www.cnblogs.com/wujianzhou/p/8435286.html
Copyright © 2011-2022 走看看