从多线程引发的一点儿思考,进而学习了静态代理模式
之前我们写多线程,就是一个线程类去实现Runnable的接口,然后将线程类对象作为参数创建Thread对象
如:
public class A implements Runnable{
public void run(){
}
}
public class Test{
public static void main(String [] args){
Thread td = new Tthread(new A());
td.start();
}
}
这是多线程典型的写法,接下来,我们来写一个测试代码:
package com.prs;
public class StaticPrpxy {
public static void main(String[] args) {
Merry you = new You();
WeddingCompany weddingCompany = new WeddingCompany(you);
weddingCompany.before();
weddingCompany.merry();
weddingCompany.after();
}
}
interface Merry{
void merry();
}
class You implements Merry{
@Override
public void merry() {
System.out.println("You要结婚了");
}
}
class WeddingCompany implements Merry{
private Merry You;
public WeddingCompany(Merry you) {
super();
this.You = you;
}
@Override
public void merry() {
You.merry();
}
public void before(){
System.out.println("办理结婚前的准备工作");
}
public void after(){
System.out.println("办理结婚的工作");
}
}
输出结果为:
办理结婚钱的准备工作
You要结婚了
办理结婚的工作。