接口
- 接口的作用是制定标准的
- 接口具有可扩展性
- 解耦合:降低程序之间的耦合度
- 接口与接口之间采用多继承
- 接口与类之间采用多实现
实现接口,就必须实现接口中的所有抽象方法
如果不想实现某些抽象方法,那么就必须将该类做成抽象类
public interface Shape { //接口的创建
关键字 interface(接口)
特点:
- 所有的方法都是公开抽象方法
- 所有的属性都是公开的,静态的,常量(final),都是public static final 修饰的
- 接口中 没有 构造方法,所以不能创建对象,由实现类进行接口的 创建
- 接口中 允许 定义 default (默认)成员 方法
- 接口中 允许 定义 私有 成员方法
- 接口中 允许定义公开/私有 静态方法
implements接口的实现
- 接口与类实现多 实现(implements)
public class Circle implements Shape{ //实现接口与类的对接
写接口和抽象类,尽量使用多态,把子类对象给父类引用

接口
public interface ATM {
int getMoney(int money);
}
类的实现
public class ABCATM implements ATM{
@Override
public int getMoney(int money) {
return money + 1;
}
}
匿名内部类
public class ATMTest {
public static void main(String[] args) {
ATM atm = new ATM() {
@Override
public int getMoney(int money) {
return money + 1;
}
};
int money = atm.getMoney(500);
System.out.println(money);
// ATM atm = new ABCATM();
// int money = atm.getMoney(500);
// System.out.println(money);
// int m = getMoney(new ATM() {
// @Override
// public int getMoney(int money) {
// return money + 1;
// }
// },500);
// System.out.println(m);
//
// }
// public static int getMoney(ATM atm , int money){
// return atm.getMoney(money);
}
}
函数式接口
- 接口中有且只有一个抽象方法,这样的接口可以称为函数式接口
- 函数式接口 支持
lambda表达式(简化匿名内部类的写法)
lambda 语法:
(参数列表) —>(代码实现)—> 最终的产物是快速构建该函数式接口的子类对象
函数式接口有且只有一个接口
(参数列表)指的是唯一的一个抽象方法的参数列表
–> 固定的
(代码实现)指的是 抽象方法的具体实现
*在lambda表达式的参数列表中
* a).所有的参数的类型可以省略不写
* b).如果有且只有一个参数,则可以省略小括号
- 在
lambda表达式的代码实现中
a).如果代码的实现只有一行代码,则可以省略大括,且该语句结尾的分号必须省略
b).如果省略大括号后,该语句如果好return关键字,则必须省略return
// int m = getMoney((int money) -> { return money + 1;},50);
// int m = getMoney(money -> {return money + 1 ;},50);
int m = getMoney(money -> money + 1,50);

743

被折叠的 条评论
为什么被折叠?



