首页 > 编程语言 > 详细

Java面向对象编程之接口·7

时间:2021-05-12 09:54:56      阅读:14      评论:0      收藏:0      [点我收藏+]
  • 什么是接口
    • 抽象方法的集合,接口通常以interface来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法
    • 语法

interface 名称 [extends 其他的接?名]
 {  
     // 声明变量 
    // 抽象?法 int getMoney(); 
 }
接口的特点

  

  • 接口的特点
    • 接口的方法都是抽象方法,默认都是public abstract ,其他修饰符都会报错
    • 接口中可以含有变量,但是接口中的变量会被隐性的指定为public static final
    • 类描述对象的属性和方法,而接口则包含类要实现的方法
    • 接口无法被实例化,需要被实现才行
    • 一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类
  • 类和接口的区别
    • 接口没有构造函数
    • 接口里可以有静态方法和方法体
    • 接口中所有的方法都必须是抽象方法(JDK8以后就不是了)
    • 接口不是被类继承了,而是要被类实现
    • 接口支持多继承,类不支持多个类继承
  • 接口的实现implements
    • 当类实现接口的时候,类要实现接口中所有的方法,不然类必须声明为抽象的类,使用implements关键字实现所有接口
    • 语法

class 类名 implements 接?名称[, 其他接?名称, 其他接?名称]{ 
        //要实现的?法
 }

  

  • JDK8新特性
    • interface中可以有static方法,但必须有方法实现体,该方法只属于该接口,接口名直接调用该方法
    • 接口中新增default关键字修饰的方法,default方法只能定义在接口中,可以在子类或子接口中被重写,default定义的方法必须有方法体
    • 父接口的defalut方法如果在子接口或子类被重写,那么子接口实现对象,子类对象,调用该方法,以重写为准
    • 本类,接口如果没有重写父类(即接口)的defalut方法,则在调用default方法时,使用父类定义的defalut方法逻辑

public interface IPay{
 // static修饰符定义静态?法 
 static void staticMethod() { 
 System.out.println("接?中的静态?法"); 
 } 
 // default修饰符定义默认?法 ,默认?法不是抽象?法,可以不重写也可以重写 
 default void defaultMethod() {
  System.out.println("接?中的默认?法");
   } 
   }

  

Java面向对象编程之接口·7

原文:https://www.cnblogs.com/mrchenyushen/p/14758055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!