刷抖音听说知识付费是普通人的一个收入增长点,写了三十几篇文章一毛钱没赚,感觉有点沮丧。天上下着小雨雨,稀稀嗦嗦的,由于了很久还是买了一个🤨。
忽然觉得生活有点悲催,现在已经变得斤斤计较,有点市侩了。继而是无聊,写篇文章。
Java中可不可以类直接零耦合呢?最终发现一个方法可以实现。我们来模拟五一的一次度假旅游。最初的计划是从美国坐飞机去西安happy,代码如下:
package feiJi;
import java.util.*;
public class Flying {
public Flying() {}
private String startCity = "americ";
private String endCity = "Xi'An";
public void huaXiang() {
Globle.staticFlying = this;
System.out.println("Hai,begin repare…");
}
private void flying() {
System.out.println("开始起飞起始站:" + startCity);
}
private void arrived() {
System.out.println("到达站点:" + endCity);
}
public void setStartCity(String cityName) {
this.startCity = cityName;
}
public void setEndCity(String cityName) {
this.endCity = cityName;
}
public void happy() {
flying();
arrived();
}
}
在主方法中调用如下:
import java.util.*;
import feiJi.*;
public class Main {
private static HeiBox heiBox;
public static void main(String[] args) {
System.out.println("开始测试");
Flying flying = new Flying();
flying.huaXiang();
if (HeiBox.flying == null) {
try {
Class.forName("feiJi.exWorld.MyHeiBoxMei").newInstance();
} catch (Exception e) {
flying.happy();
} finally {
}
}
}
}
运行结果如下图,一切都是最初设想。
在期中预留一个类将系统本身的部分类引出去,如果没有其它类引用,系统正常运行,这种预留没有任何影响。代码如下:
package feiJi;
import java.util.*;
public class HeiBox {
public static Flying flying;
}
忽然有一天,系统正常运行着,你在某个位置随手写了一个类放到某个位置。你会惊奇的发现,航线变了。
是不是挺意外的,其实并不复杂,只是常规的多态。代码如下:
package feiJi.exWorld;
import java.util.*;
import feiJi.*;
public class MyHeiBox extends HeiBox {
public static Flying flying;
public MyHeiBox() {
flying = Globle.staticFlying;
flying.setStartCity("americ");
flying.setEndCity("洛阳");
flying.happy();
System.out.println("现在相当于新的飞行员了,路线可以自由驾驶。");
}
}
这可以作为一种将系统扩展转移给另外一部分人的方法。