当前位置: 首页 > news >正文

asp网站建设 win7网站关于我们的页面

asp网站建设 win7,网站关于我们的页面,四川建设信息网官网,饭店餐厅网站建设文章目录一、匿名内部类1. 语法格式2. 使用方法① 传统方式② 匿名内部类方式二、Lambda表达式1. 语法格式2. 使用方法① 匿名内部类方式② Lambda表达式方式三、方法引用1. 语法格式2. 使用方法① 类型的静态方法引用② 类型的构造方法引用③ 类型的实例方法引用④ 对象的实例… 文章目录一、匿名内部类1. 语法格式2. 使用方法① 传统方式② 匿名内部类方式二、Lambda表达式1. 语法格式2. 使用方法① 匿名内部类方式② Lambda表达式方式三、方法引用1. 语法格式2. 使用方法① 类型的静态方法引用② 类型的构造方法引用③ 类型的实例方法引用④ 对象的实例方法引用四、匿名内部类、Lambda表达式、方法引用对比分析总结一、匿名内部类 匿名内部类可以看作是特殊的局部内部类其本质就是一个继承类或实现接口的匿名子类。 匿名内部类是在使用的时候动态的指定方法体的逻辑无需每次都去创建一个继承类或实现接口的子类。编译器会在编译阶段自动生成一个匿名子类。 1. 语法格式 匿名内部类的语法格式new 接口名类名(){重写方法} 其中如果重写方法为非必要的原则上是可以没有重写方法部分的。 2. 使用方法 ① 传统方式 父子类 public class ParentClass {public void aa(String str) {}public void bb(String str) {} }public class ChildClass extends ParentClass {Overridepublic void aa(String str) {System.out.println(自定义方法体);}Overridepublic void bb(String str) {System.out.println(自定义方法体);} }public class Test {public static void main(String[] args) {ParentClass ohj new ChildClass();} }接口实现类 public interface ParentInterface {void aa(String str);void bb(String str); }public class ChildClass implements ParentInterface {Overridepublic void aa(String str) {System.out.println(自定义方法体);}Overridepublic void bb(String str) {System.out.println(自定义方法体);} }public class Test {public static void main(String[] args) {ParentInterface ohj new ChildClass();} }② 匿名内部类方式 父子类 public class ParentClass {public void aa(String str) {}public void bb(String str) {} }public class Test {public static void main(String[] args) {ParentClass obj new ParentClass() {Overridepublic void aa() {System.out.println(自定义方法体);}Overridepublic void bb() {System.out.println(自定义方法体);}};} }接口实现类 public interface ParentInterface {void aa(String str);void bb(String str); }public class Test {public static void main(String[] args) {ParentInterface obj new ParentInterface() {Overridepublic void aa() {System.out.println(自定义方法体);}Overridepublic void bb() {System.out.println(自定义方法体);}};} }二、Lambda表达式 从Java8开始引入了Lambda表达式。 对于只有一个抽象方法的接口函数式接口可以直接使用Lambda表达式创建它的匿名实现类实例。 使用匿名内部类方式定义的内部类编译之后会生成一个单独的class字节码文件外部类名$编号.class使用Lambda表达式定义的内部类编译之后不会生成一个单独的class字节码文件对应的字节码会在运行的时候动态生成。 1. 语法格式 Lambda表达式的语法格式(参数列表) - {方法体} 省略写法 小括号内参数的参数类型可以省略小括号内无参数时小括号不可省略小括号内只有一个参数时小括号可以省略小括号内有多个参数时小括号不可省略大括号内有且只有一行语句时可以省略 2. 使用方法 public interface ParentInterface {void aa(String str); }① 匿名内部类方式 public class Test {public static void main(String[] args) {ParentInterface obj new ParentInterface() {Overridepublic void aa(String str) {System.out.println(自定义方法体);}};} }② Lambda表达式方式 public class Test {public static void main(String[] args) {ParentInterface obj str - System.out.println(自定义方法体);} }三、方法引用 方法引用是对Lambda表达式进一步简化借用其他类的方法体省去了写方法体的过程。 对于方法体只有一行代码的Lambda表达式该行代码为调用某个类或某个实例的方法时可以简洁为更简单的方法引用的方式。 1. 语法格式 方法引用的语法格式 语法种类语法格式示例参数对应关系类型的静态方法引用类::静态方法String::valueOf抽象方法的参数与静态方法的参数顺序对应类型的构造方法引用类::newString::new抽象方法的参数与构造方法的参数顺序对应类型的实例方法引用类::实例方法String::replaceAll抽象方法的第一个参数为调用引用方法的实例对象抽象方法的剩余参数与实例方法的参数顺序对应对象的实例方法引用对象::实例方法s::replaceAll实例对象s为外部参数抽象方法的参数与实例方法的参数顺序对应 需要注意 当接口的抽象方法无返回值时方法引用的方法有无返回值都可以当接口的抽象方法有返回值时方法引用的方法也必须有返回值且返回值类型 instanceof 接口的抽象方法返回值类型 2. 使用方法 ① 类型的静态方法引用 类型的静态方法引用类名::静态方法 对应Lambda表达式(参数1,参数2,…) - 类名.静态方法(参数1,参数2,…) FunctionalInterface public interface ParentInterface {String aa(String s); }public class Test {public static void main(String[] args) {// 类型的静态方法引用ParentInterface parentInterface1 String::valueOf;// 对应Lambda表达式方式ParentInterface parentInterface2 s - String.valueOf(s);} }② 类型的构造方法引用 类型的构造方法引用类::new 对应Lambda表达式(参数1,参数2,…) - new 类名(参数1,参数2,…) FunctionalInterface public interface ParentInterface {String aa(String s); }public class Test {public static void main(String[] args) {// 类型的构造方法引用ParentInterface parentInterface1 String::new;// 对应Lambda表达式方式ParentInterface parentInterface2 s - new String(s);} }③ 类型的实例方法引用 类型的实例方法引用类::实例方法 对应Lambda表达式(参数1,参数2,…) - 参数1.静态方法(参数2,…) FunctionalInterface public interface ParentInterface {String aa(String s1, String s2, String s3); }public class Test {public static void main(String[] args) {// 类型的实例方法引用ParentInterface parentInterface1 String::replaceAll;// 对应Lambda表达式方式ParentInterface parentInterface2 (s1,s2,s3) - s1.replaceAll(s2,s3);} }④ 对象的实例方法引用 对象的实例方法引用对象::实例方法 对应Lambda表达式(参数1,参数2,…) - 对象.静态方法(参数1,参数2,…) FunctionalInterface public interface ParentInterface {String aa(String s1, String s2); }public class Test {public static void main(String[] args) {String s ;// 对象的实例方法引用ParentInterface parentInterface1 s::replaceAll;// 对应Lambda表达式方式ParentInterface parentInterface2 (s1,s2) - s.replaceAll(s1,s2);} }四、匿名内部类、Lambda表达式、方法引用对比分析总结 Lambda表达式是匿名内部类的简写匿名内部类为函数式接口的实现的这种方法引用是Lambda表达式的简写Lambda表达式的方法体只有一行代码且该行代码方法调用
http://www.w-s-a.com/news/121449/

相关文章:

  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器
  • 网站设计常用软件都有哪些中国建设银行官方招聘网站
  • 证券投资网站建设视频直播怎么赚钱的
  • 建设酒店网站ppt模板下载郑州小程序设计外包
  • 网站建设自我总结google推广公司
  • 安全网站建设情况wordpress 评论表单
  • 网站建设发言材料个人网站推广软件
  • php建站软件哪个好南京哪家做网站好
  • 排名好的手机网站建设番禺网站建设专家
  • 番禺怎么读百度有专做优化的没
  • 网站开发中应注意哪些问题网络营销的主要特点
  • 网站定制案例北京网站制作招聘网
  • 网站建设与推广实训小结网站建设专业英文
  • 郑州网站建设动态凡科网站建设是免费的吗
  • 湖北手机网站建设wordpress转emlog博客
  • 北京东站设计网名的花样符号
  • 安徽建设厅网站首页网站开发aichengkeji
  • 自贡网站制作荣茂网站建设