也许当你对某段代码进行修改的时候会发现出现了一个警告,系统提醒某处代码的使用有问题,尽管你并没有做针对那段代码的修改。
例如:这样一段代码,这段代码的作用无非是当被调用时打印“name 执行了线程 ID”;
public class InnerClassTest {
public void doSomethings(){
String name = "center";
class ThreadPrint{
public void printThreadId(long tid){
System.out.println(name+" implemented thread "+tid);
}
}
ThreadPrint threadPrint = new ThreadPrint();
Thread thread = new Thread();
threadPrint.printThreadId(thread.getId());
}
public static void main(String[] args) {
InnerClassTest innerClassTest = new InnerClassTest();
innerClassTest.doSomethings();
}
}
尽管它写的相当凌乱,这只是为了引出本文的一个示例,事实上 ThreadPrint
所做的事情相当简单,并且其功能与外部类的耦合度不高,完全可以将其提取为一个独立的普通类。
此时代码的运行是没有问题的,我们可以看到控制台打印了出了需要的结果。
center implemented thread 15
但是,当我们要在 doSomethin