接口

1. 定义: 抽象类是从多个类中抽象出来的模板,如果将这种抽象进行的更彻底,可以提炼出更加抽象的“抽象类”-----接口。

接口中不能包含普通方法,接口中所有的方法都是抽象方法。java8对接口进行了改进,允许接口中定义默认方法,默认方法可以提供实现方法。

 

[修饰符]  interface  接口名extends 父接口1,父接口2.....

{

0-多个常量定义;

0-多个抽象方法定义;

0-多个内部类,接口,枚举定义;

0-多个默认方法或类方法定义;

}

 

备注:修饰符可以为public,或者省略。接口可以有多个父接口,但是接口只能继承接口,不能继承类

 

因为接口是一种规范,所以接口中不能包含构造器和初始化的定义,接口中可以有成员变量(静态常量),方法(抽象实例方法,类方法,默认方法),内部类(内部接口,枚举)

接口中的成员变量只能在定义时指定默认值

定义接口的方法:抽象方法,类方法,默认方法。如果不是默认方法,系统为普通方法增加abstract修饰鼓符,接口的普通方法不能有实现体,方法体,但是类方法以及默认方法必须有实现体

 

package com.wss.demo;

public interface interfaceTest {
    public int q=0;
    public static  final String s=null;
   //普通方法,默认使用public abstract修饰
    void out();
    void getData(String name);
    //接口中定义默认方法,必须使用default修饰,不能使用static修饰。不能使用接口直接调用默认方法。需要使用接口的实现类的实例来
    //调用默认方法
    
    default  void  print(String...msgs){
        for(String msg:msgs){
            System.out.println(msg);
        }
    }
    default void test(){
        System.out.println("==");
    }
    //接口中定义类方法,需要static修饰,类方法可以使用接口直接调用
    static  String  staticTest(){
        System.out.println("==");
        return  "接口中的类方法";
    }
}

 

2.接口的继承:
接口支持多继承

3.使用接口

接口不能用于创建实例,但是接口可以用于声明引用类型的变量,当使用接口来声明引用类型变量时,引用类型的变量必须引用到其实现类的对象

定义变量,调用接口中定义的常量,被其他类实现

一个类可以实现一个或者多个接口,

类实现接口的语法格式如下:
继承使用extends关键字,实现使用implements关键字

类实现接口的语法格式

class  类名  extends 父类 imlenents 接口1,接口2{

类体部分

}

     一个类实现一个或者多个接口后,这个类必须完全实现这些接口里所定义的全部抽象方法,(重写这些方法)否则,该类保留从父类接口继承的抽象方法,该类定义为抽象类。

  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值