函数式编程

张开发
2026/4/9 1:25:10 15 分钟阅读

分享文章

函数式编程
函数式编程代码块内部类成员内部类静态内部类局部内部类匿名内部类Lambda代码块内部类成员内部类classPeople{privateintheartBeat100;publicclassHeart{privateintheartBeat80;publicvoidshow(){intheartBeat200;System.out.println(heartBeat);// 200System.out.println(this.heartBeat);// 80System.out.println(People.this.heartBeat);// 100}}}publicstaticvoidmain(String[]args){// 目标搞清楚成员内部类的语法。// 成员内部类创建对象的格式// 外部类名称.内部类名称 对象名 new 外部类名称().new 内部类名称();Outer.InneroinewOuter().newInner();oi.setName(王麻子);oi.show();// 成员内部类访问外部类成员的特点拓展// 1、成员内部类中可以直接访问外部类的静态成员,也可以直接访问外部类的实例成员// 2、成员内部类的实例方法中可以直接拿到当前寄生的外部类对象外部类名.thisPeople.HeartheartnewPeople().newHeart();heart.show();}静态内部类局部内部类匿名内部类不用匿名内部类的时候用了匿名内部类原理上本质是一个子类 同时会立即构建子类对象 会生成对应匿名内部类字节码文件LambdapublicclassLambdaDemo1{publicstaticvoidmain(String[]args){// 目标认识Lambda表达式搞清楚其基本作用。AnimalanewAnimal(){Overridepublicvoidcry(){System.out.println(是喵喵喵的叫~~~~);}};a.cry();// 错误示范Lambda并不是可以简化全部的匿名内部类Lambda只能简化函数式接口的匿名内部类。// Animal a1 () - {// System.out.println(是喵喵喵的叫~~~~);// };// a1.cry();System.out.println();/* Swim s1 new Swim() { Override public void swimming() { System.out.println(学生‍贼快~~~~); } }; */// Lambda只能简化函数式接口的匿名内部类。Swims1()-{System.out.println(学生‍贼快~~~~);};s1.swimming();}}abstractclassAnimal{publicabstractvoidcry();}// 函数式接口只有一个抽象方法的接口。FunctionalInterface// 声明函数式接口的注解。interfaceSwim{voidswimming();}

更多文章