JAVA课堂笔记17(接口,内部类)

第十章:接口
一、理解
1. 接口:是一种标准,接口的实现者和使用者都必须遵循的约定。
2. 语法特点:
(1) 接口的关键字:interface
(2) 接口的语法:
  interface 接口名{}
(3) 接口不能创建对象,可以声明引用
(4) 接口中的属性都是公开的、静态的、常量(默认被 publicstatic final修饰)
(5) 接口中没有构造方法
(6) 接口中的方法都是公开、抽象方法(默认被public、asbtract修饰)
二、实现类
1. 实现类的语法:
class 类名 implements 接口名{}
abtract class 类名 implements 接口名{}
2. 实现类的注意:
(1) 实现类不想成为抽象类,则需要覆盖接口中所
有的抽象方法
(2) 实现类覆盖接口中的方法时,访问权限必须是
public
三、接口的继承性
1. java中的接口是多继承
(1) 一个接口可以同时继承多个接口
(2) 语法:
  interface 接口名 extends 父接口1,父接口2{}
2. 类和接口之间多实现关系
(1) 一个类同时可以实现多个接口
(2) 语法:
  class 类名 implements 接口名1,接口名2{}
(3) 注意:如果一个类实现多个接口,需要把所有接口中抽象方法全部覆盖(包括父接口中的)
3. 类实现多个接口的同时可以继承一个类:
(1) 语法:
  class 类名 extends父类 implements
  接口名1,接口名2{}
(2) 注意:一个类实现多个接口的同时,允许继承
一个父类,但是必须继承在前,实现在后
四、接口多继承的影响
1. 由于接口的多继承性,让多态更加的多样性
2. 以接口类型的引用调用方法时,只能调用该接口中声明的方法
五、高版本Jdk语法补充
1. JDK8.0开始 ,接口中可以定义默认方法和静态方法。
(1) 默认方法:
default 返回值类型 方法名(形参列表){ // 方法实现 }
注意:带有方法实现的非静态方法必须加default;默认访问权限为public
(2) 静态方法:
public static 返回值类型 方法名(形参列表)
//方法实现 }
注意:静态方法没有写访问修饰符,默认为public
2. JDK9.0开始,接口中可以定义私有方法。
private 返回值类型 方法名(形参列表){ //方法实现 }
六、接口的分类
1. 常量接口:接口中只有静态常量,没有定义任何方法,应用不广泛
interface IA{
  int n = 6;
}
2. 标记接口:空接口,接口中没有定义任何的属性和方法。
interface IB{}
3. 普通接口:具有至少一个抽象方法的接口。
4. 函数式接口:接口中只有一个抽象方法,对静态方法和默认 方法没有要求。[用于lambda表达
式]
第十一章:内部类
一、理解
1. 内部类:定义在一个类内部的类
2. 内部类编译之后会生成独立的.class文件,命名规则为:外部类类名$内部类的类名.class
3. 内部类的分类:成员内部类、静态内部类、局部内部类、匿名内部类
4. 匿名内部类为例:
(1) 要求:继承一个父类或是实现一个接口
(2) 特点:匿名内部类定义和对象的创建一起完成,基于一个匿名内部类只能创建该类的一个对象
案例:
package demo;
public class Test2{
public static void main(String[]args){
// 匿名内部类
IA ia=new IA(){
public void m1(){
System.out.println("m1...");
}
public int m2(int a,int b){
int sum = a+b;
return sum;
}
};
ia.m1();
System.out.println(ia.m2(8,7));
}
}
interface IA{
void m1();
int m2(int a,int b);
}
二、Lambda表达式
1. 理解:用于简化匿名内部类的实现过程,基于函数式接口实现
2. 注意:lambda只能应用在函数式接口上
3. 语法:
接口名 引用 = (参数名,参数名2)->{
  // 方法的实现部分
};
4. 注意事项:
(1) {}中有且只有一行语句时,{}可以省略(没有返回值的方法)
(2) ()中的数据类型可以省略
(3) 如果方法带有返回值,当方法实现只有一行语句,并且为return语句时,此时{}+return可以
一起省略
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值