zoukankan      html  css  js  c++  java
  • java抽象类与接口回顾

    1.抽象类中可以包括成员变量,方法,构造器,初始化块,内部类(接口/枚举)五种成分。
    2.让A类中包含B方法,又不提供B方法的实现,即抽象方法只有方法签名,没有方法体。3.有抽象方法的类只能被定义成抽象类,但是抽象类里可以没有抽象方法。抽象类体现了设计模式的模板模式。
    4.抽象类不能被实例化,无法使用new关键字调用抽象类的构造器创建抽象类的实例,即使抽象类不包含抽象方法,抽象类只能作为父类被其他子类继承,抽象类中的初始化块/构造器,是在创建子类的实例时被调用。
    5.含有抽象方法的类(包括直接定义了一个抽象方法;继承了一个抽象父类,但没有完全实现父类包含的抽象方法;实现了一个接口,没有完全实现接口中包含的抽象方法三种情况)
    6.接口的所有方法都是抽象方法java8允许在接口中定义默认方法,接口里普通方法不能有方法实现(方法体),但类方法,默认方法必须有方法实现(方法体),类方法必须使用static修饰,系统默认为其加public修饰符,类方法可直接使用接口来调用,默认方法用default修饰,如 default void test(){},不能使用static修饰,系统会为其增加public修饰符,需要类的实例来调用默认方法。

    (抽象方法中不能用private,static, synchronized,native等修饰词修饰。)
    7.接口定义了多个类需要遵守的规范,接口规定这些类里必须提供哪些方法,接口不能包含构造器和初始化块定义接口里可以包含成员变量(静态常量),方法(抽象实例方法,类方法,默认方法),内部类(内部接口,枚举)。
    8.接口的定义   [修饰符] interface 接口名 extends 父接口1, 父接口2......{}
    修饰符可以是public/省略,若省略,使用包权限访问控制符。接口只能继承接口,不能继承类。
    系统会为成员变量加public static final修饰符,为普通方法加public abstact修饰符,内部类、内部接口、内部枚举是public static修饰符。
    9.一个java源文件最多只能有一个public接口,若java源文件中定义了一个public接口,该文件的主文件名必须与该接口名相同。
    10.接口支持多继承,子接口继承父接口,会获得父接口里定义的所有抽象方法和常量。
       实现接口: [修饰符] class 类名 extends 父类 implements 接口1,接口2......{}
       实现接口,可以获得所实现接口里定义的常量(成员变量),方法(包括抽象方法和默认方法)。
     11.一个类实现了一个或多个接口后,这个类必须完全实现接口里定义的全部抽象方法(即重写这些抽象方法),否则,该类将保留从父接口继承来的抽象方法,该类也必须定义为抽象类。

  • 相关阅读:
    MySQL Explain学习笔记
    postman测试文件上传接口教程
    URLDecoder异常Illegal hex characters in escape (%)
    第三章 jQuery总结 参考文本
    史上最简单的一道面试题!坑人吧
    cookie和session的关联关系
    服务器配置
    Rancher 添加主机无法显示、添加主机无效的解决办法
    .NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯,flyfire.CustomSerialPort 的使用
    .Net Core 跨平台应用使用串口、串口通信 ,可能出现的问题、更简洁的实现方法
  • 原文地址:https://www.cnblogs.com/sjxbg/p/8615546.html
Copyright © 2011-2022 走看看