愿景:"让编程不再难学,让技术与生活更加有趣"
更多架构课程请访问 xdclass.net
目录
第4集 JDK9新特性之增强try-with-resource
第1集 新版JDK13下载和本章课程说明
简介:讲解JDK13版本的下载和后续课程说明
-
为什么用JDK13
-
版本太多,直接用最新的进行安装讲解
-
-
JDK 13的官方地址(如果地址过期,则百度搜索,官方经常改动) https://www.oracle.com/technetwork/java/javase/downloads/index.html
-
-
环境变量配置
解压到指定目录 vim .bash_profile JAVA_HOME="/Users/xdclass/Documents/software/jdk13/Contents/Home"
-
相关环境变量配置
-
JDK9~13新增特性很多但不会全部都讲解
-
会讲解: 常见的有利于提高开发效率,常见API增强
-
不讲解:不常用的API, 或者只是试验性的功能, 如AOT静态编译
-
第2集 java高级核心之JDK9常用Jshell实战
简介:讲解jdk9新增测试工具jshell实战
-
什么是jshell
-
从java9开始,jdk引入了交互式 REPL(Read-Eval-Print-Loop,读取-求值-输出-循环)
-
官方文档
-
-
常用命令
-
帮助命令
-
/help
-
/help intro
-
-
列出输入的源
-
/list
-
-
编辑某个源
-
/edit
-
-
删除
-
/drop
-
-
退出jshell命令
-
/exit
-
-
重置
-
/reset
-
-
查看历史编辑
-
/history
-
-
-
自动化补齐功能
-
Tab键
-
第3集 接口方法进阶之JDK9私有方法
简介:讲解jdk9新增的接口私有方法
-
什么是jdk9新增的接口私有方法
-
JDK8新增了静态方法和默认方法,但是不支持私有方法
-
jdk9中新增了私有方法
-
public interface OrderPay {
void pay();
default void defaultPay(){
privateMethod();
}
//接口的私有方法可以在JDK9中使用
private void privateMethod(){
System.out.println("调用接口的私有方法");
}
}
public class OrderPayImpl implements OrderPay {
@Override
public void pay() {
System.out.println("我实现了接口");
}
}
public static void main(String[] args) throws Exception {
OrderPay orderPay = new OrderPayImpl();
orderPay.defaultPay();
orderPay.pay();
}
-
注意点(面试题!!!):
-
接口中的静态方法不能被实现类继承和子接口继承,但是接口中的非静态的默认方法可以被实现类继承
-
例如List.of() 方法,ArrayList虽然继承了List,但是不能用ArrayList.of()方法
-
类的静态方法可以被继承
-
第4集 JDK9新特性之增强try-with-resource
简介:讲解jdk9新增的接口私有方法
-
什么是try-with-resource
-
在JDK7中,新增了try-with-resources语句,可以在try后的括号中初始化资源,可以实现资源自动关闭
-
OutputStream out = new FileOutputStream(filepath);
try(OutputStream temp = out;) {
temp.write((filepath+"可以学习java架构课程").getBytes());
}catch (Exception e){
e.printStackTrace();
}
-
什么是增强try-with-resource
-
在JDK9中,改进了try-with-resources语句,在try外进行初始化,在括号内引用,即可实现资源自动关闭,多个变量则用分号进行分割
-
不需要声明资源 out 就可以使用它,并得到相同的结果
-
public static void main(String[] args) throws Exception {
String path = "/Users/xdclass/Desktop/t.txt";
test(path);
}
private static void test(String filepath) throws FileNotFoundException {
OutputStream out = new FileOutputStream(filepath);
try (out) {
out.write((filepath + "可以学习java架构课程").getBytes());
} catch (Exception e) {
e.printStackTrace();
}
}
干货文档
关注公众号发送:“CSDN干货文档” 即可领取