接口

接口:接口是开发过程中的一种规范。

面向对象的开发–>面向接口的开发

接口定义的语法:

 public interface 接口名 [extends 接口] {

           1.定义变量

           2.可以定义静态方法

           3.可以定义默认方法

           4.可以定义抽象方法

     }

继承:Java类是单继承 , 接口可以实现多继承。

public interface aa{

    public void eat()

}

接口是不能直接被实例化的,需要它的实现类来进行实例化。

接口的实现:

implements:接口实现的关键字 (关键字!)

语法:

 public class  实现类名 implements 接口名 {

           (重写接口中所有的抽象方法)

}

public class bb implements aa{

 

}

接口的继承:

java类继承机制是单继承,接口可以实现多继承。

接口只能继承接口

extends:实现继承

语法:

     接口名 extends 接口名1,接口名2,接口名3{

 

}

继承了父接口的接口的实现类:

必须要重写该接口以及它的父接口的所有抽象方法。

一个类可以同时实现多个接口,要把接口中所有抽象方法进行重写。

抽象类和接口的区别: (面试题)

1.定义的关键字不同,接口使用的是interface,抽象类使用的是abstract class;

2.抽象类可以定义抽象方法和普通方法,接口只能定义抽象方法(默认方法和静态方法除外);

3.接口中只能定义常量,抽象类中既可以定义常量也可以定义变量;
4.类只能继承一个抽象类, 接口直接可以实现多重继承。

Lambda表达式:

函数式接口

作用:接口的实例化

语法:

前提:接口只有一个抽象方法

 接口 变量 = (参数列表) -> {//方法体}

->:(goes to)

@FunctionallInterface注解

作用:验证当前接口能不使用lambda表示进行实例化

实例化:new关键字的使用

interface a{

            Person getPerson();

}

返回值类型的类:new;

通过lambda表达调用静态方法:

1.先在类中定义一个静态方法,该方法是对接口中抽象方法的实现。

2.lambda表达式语法调用该方法:

([参数列表])->getPerson();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值