一、理解
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 可以一起省略标签:return,内部,int,第十一章,匿名,m1,public From: https://blog.csdn.net/jsy_xing/article/details/139648591