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

网站建设基本知识网页设计技术学什么

网站建设基本知识,网页设计技术学什么,怎么下载ppt模板,手机直播网站开发文章目录一、匿名内部类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.hkea.cn/news/14591690/

相关文章:

  • 室内设计资料网站统一管理网站系统
  • 如何建设个人的网站成立了一支网站建设的专业队伍
  • 企业网站建设时优化关键词的问题郴州 网站建设
  • 建设工程项目编号在什么网站查ps做专业网站
  • 模仿 网站平面设计自学网站有哪些
  • psd网站为什么做网站越早越好
  • 做视频解析网站犯法上海市人才服务中心官网
  • 给别人做网站怎么收取费用做网站600
  • 手机响应式网站开发模板之家的网站开发工具有哪些
  • 成都网站推广招聘在线制作网站的平台
  • 长治个人做网站跨境电商个人开店的平台
  • 镇江网站建设价格软件工程师证书报考条件
  • 以遇见为主题做网站新塘网站建设
  • 中国做出口的网站平台哈尔滨网站开发建设公司电话
  • python3 做网站上海市浦东新区建设工程安全质量监督站网站
  • 大型菜谱网站建设怎么做自己的发卡网站6
  • 网站全屏大图代码海外营销推广方案
  • 江岸网站建设怎么用html做个人的网页
  • 开源企业网站系统php网站cms
  • PHP MySQL 网站开发实例新手自己做网站
  • 外贸开发网站公司wordpress 翻页没内容
  • 网站建设衣服体验式营销
  • 进空间的网站吗婚恋网站做期货现货贵金属的人
  • 在线解压zip网站攻击asp网站
  • 汕头市建设局网站张家港市网站建设
  • 红酒网站建设方案范本关于旅游的网站建设论文
  • 免费创建属于自己的网站绍兴做网站价格
  • 潍坊做网站张家口手机网站模板 php
  • 建站行业获客wordpress 无法删除评论
  • 新开传奇网站合击建设行政主管部门查询网站