资源访问
package com.yootk.demo;
interface IMessage {
public void send(String msg) ; // 消息发送的核心功能
}
class NetMessage implements IMessage {
public NetMessage() {
// 当前的设计为:只要现在实例化了此类对象就表示要进行消息的发送,则就需要连接网络服务器
System.out.println("【连接】连接远程服务器,创建消息的发送通道...");
}
@Override
public void send(String msg) {
System.out.println("【发送】" + msg); // 模拟数据的发送
}
public void close() { // 关闭资源
System.out.println("【关闭】网络消息发送完毕,断开服务器连接...");
}
}
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
NetMessage message = new NetMessage() ; // 创建消息发送类
message.send("沐言优拓:www.yootk.com"); // 核心业务
message.close();
}
}
自动关闭
package com.yootk.demo;
interface IMessage extends AutoCloseable { // 继承自动关闭接口
public void send(String msg) ; // 消息发送的核心功能
}
class NetMessage implements IMessage {
public NetMessage() {
// 当前的设计为:只要现在实例化了此类对象就表示要进行消息的发送,则就需要连接网络服务器
System.out.println("【连接】连接远程服务器,创建消息的发送通道...");
}
@Override
public void send(String msg) {
if (msg.contains("yootk")) { // 手工异常抛出
throw new RuntimeException("沐言优拓:yootk.com") ;
}
System.out.println("【发送】" + msg); // 模拟数据的发送
}
public void close() { // 关闭资源
System.out.println("【关闭】网络消息发送完毕,断开服务器连接...");
}
}
public class YootkDemo { // 李兴华编程训练营:yootk.ke.qq.com
public static void main(String[] args) throws Exception {
try (NetMessage message = new NetMessage()) {
message.send("沐言优拓:www.yootk.com"); // 核心业务
} catch (Exception e) {}
}
}
这个方法好用是好用,但是要用异常处理语句才行,感觉还是挺麻烦的啊。
个人感觉也就是可以避免忘记close的现象。