摘要:
1 package day13.lesson3.p3; 2 3 /* 4 3.6 Lambda表达式支持的方法引用:引用构造器 5 6 引用构造器,其实就是引用构造方法 7 8 格式 9 类名::new 10 范例 11 Student::new 12 13 练习描述 14 定义一个类(Studen 阅读全文
摘要:
1 package day13.lesson3.p3; 2 3 /* 4 3.5 Lambda表达式支持的方法引用:引用类的实例方法 5 6 引用类的实例方法,其实就是引用类中的成员方法 7 8 格式 9 类名::成员方法 10 范例 11 String::substring 12 public S 阅读全文
摘要:
1 package day13.lesson3.p3; 2 3 /* 4 3.4 Lambda表达式支持的方法引用:引用对象的实例方法 5 6 引用对象的实例方法,其实就引用类中的成员方法 7 8 格式 9 对象::成员方法 10 范例 11 "HelloWorld"::toUpperCase 12 阅读全文
摘要:
1 package day13.lesson3.p3; 2 3 /* 4 3.3 Lambda表达式支持的方法引用:引用类方法 5 6 引用类方法,其实就是引用类的静态方法 7 8 格式 9 类名::静态方法 10 范例 11 Integer::parseInt 12 Integer类的方法:pub 阅读全文
摘要:
1 package day13.lesson3.p1; 2 3 /* 4 3 方法引用 5 6 3.1 体验方法引用 7 8 方法引用的出现原因 9 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作 10 那么考虑一种情况: 11 如果我们在Lambda中所指定 阅读全文
摘要:
1 package day13.lesson2; 2 3 /* 4 2.3 接口中私有方法 5 6 私有方法产生原因 7 Java 9中新增了带方法体的私有方法,这其实在Java 8中就埋下了伏笔:Java 8允许在接口中定义带方法体的默认方法和静态方法。 8 这样可能就会引发一个问题:当两个默认方 阅读全文
摘要:
1 package day13.lesson2; 2 3 /* 4 2.2 接口中静态方法 5 格式 6 [public] static 返回值类型 方法名(参数列表) { } 7 范例 8 [public] static void show() { 9 } 10 注意事项 11 静态方法只能通过接 阅读全文
摘要:
1 package day13.lesson2; 2 3 /* 4 2 接口组成更新 5 6 2.1 接口组成更新概述 7 8 常量 9 public static final 10 抽象方法 11 public abstract 12 默认方法(Java 8) 13 静态方法(Java 8) 14 阅读全文
摘要:
1 package day13.lesson1.p3; 2 3 /* 4 1.8 Lambda表达式和匿名内部类的区别 5 6 所需类型不同 7 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类 8 Lambda表达式:只能是接口 9 10 使用限制不同 11 如果接口中有且仅有一个抽象方法, 阅读全文
摘要:
1 package day13.lesson1.p2; 2 3 /* 4 1.7 Lambda表达式的注意事项 5 6 使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法 7 8 必须有上下文环境,才能推导出Lambda对应的接口 9 根据局部变量的赋值得知Lambda对应的接口 10 阅读全文
摘要:
1 package day13.lesson1.p1; 2 3 /* 4 1.6 Lambda表达式的省略模式 5 6 参数类型可以省略。但是有多个参数的情况下,不能只省略一个 7 如果参数有且仅有一个,那么小括号可以省略 8 如果代码块的语句只有一条,可以省略大括号和分号,和return关键字 9 阅读全文
摘要:
1 package day13.lesson1; 2 3 /* 4 1.5 Lambda表达式练习3 5 6 练习描述 7 有参有返回值抽象方法的练习 8 9 操作步骤 10 定义一个接口(Addable),里面定义一个抽象方法:int add(int x,int y); 11 定义一个测试类(Ad 阅读全文
摘要:
1 package day13.lesson1; 2 3 /* 4 1.4 Lambda表达式练习2 5 6 练习描述 7 有参无返回值抽象方法的练习 8 9 操作步骤 10 定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s); 11 定义一个测试类(Flya 阅读全文
摘要:
1 package day13.lesson1; 2 3 /* 4 1.3 Lambda表达式练习1 5 6 练习描述 7 无参无返回值抽象方法的练习 8 9 操作步骤 10 定义一个接口(Eatable),里面定义一个抽象方法:void eat(); 11 定义一个测试类(EatableDemo) 阅读全文
摘要:
1 package day13.lesson1; 2 3 /* 4 1 Lambda表达式 5 6 1.1 体验Lambda表达式 7 8 案例需求 9 启动一个线程,在控制台输出一句话:多线程程序启动了 10 11 实现方式一 12 定义一个类MyRunnable实现Runnable接口,重写ru 阅读全文
摘要:
1 package day12.lesson3.p6; 2 3 import java.io.*; 4 import java.net.Socket; 5 6 /* 7 3.8 TCP通信程序练习6 8 9 案例需求 10 客户端:数据来自于文本文件,接收服务器反馈 11 服务器:接收到的数据写入文 阅读全文
摘要:
package day12.lesson3.p5; import java.io.*; import java.net.Socket; /* 3.7 TCP通信程序练习5 案例需求 客户端:数据来自于文本文件,接收服务器反馈 服务器:接收到的数据写入文本文件,给出反馈 案例分析 创建客户端对象,创建 阅读全文
摘要:
1 package day12.lesson3.p4; 2 3 import java.io.*; 4 import java.net.Socket; 5 6 /* 7 3.6 TCP通信程序练习4 8 9 案例需求 10 客户端:数据来自于文本文件 11 服务器:接收到的数据写入文本文件 12 本 阅读全文
摘要:
1 package day12.lesson3.p3; 2 3 import java.io.*; 4 import java.net.Socket; 5 6 /* 7 3.5 TCP通信程序练习3 8 9 案例需求 10 客户端:数据来自于键盘录入,直到输入的数据是886,发送数据结束 11 服务 阅读全文
摘要:
1 package day12.lesson3.p2; 2 3 import java.io.*; 4 import java.net.Socket; 5 6 /* 7 3.4 TCP通信程序练习2 8 9 案例需求 10 客户端:数据来自于键盘录入, 直到输入的数据是886,发送数据结束 11 服 阅读全文