这个博客里的代码中,用了类加载,线程的实现,继承,抽象,实现。
这是仿照别的比较好的系统来写的小Demo,算是自己的学习吧!
启动类:
package test;
public class testMain {
public static void main(String[] args) {
worker rt = null;
try {
System.out.println("start working......");
rt = (worker) Class.forName("test.WorkerExtendsWorkerImpl").newInstance();
} catch (Exception e) {
e.printStackTrace();
}
if(rt!=null){
rt.Start();
}
System.out.println("end work..........");
}
}
Start方法的实现:
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
public abstract class workerImpl implements worker{
public void run() {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
while(true){
queryFlag();
System.out.println("now: "+sdf.format(new Date())+" runing workerImpl");
}
}
public void Start() {
Thread t=new Thread(this);
t.start();
}
protected abstract void queryFlag();
}
workerImpl抽象类的实现类:
package test;
public class WorkerExtendsWorkerImpl extends workerImpl{
@Override
protected void queryFlag(){
System.out.println("WorkerExtendsWorkerImpl extends workerImpl");
}
}
接口worker:
package test;
public interface worker extends Runnable{
void Start();
}