این یک مثال از کدی که پیدا کردن اشکالش کار حضرت فیله. البته شاید از هر هزار دفعه اجرا فقط یکبار ترد زودتر از سازندهی کلاس فرزند اجرا بشه.
public class ThreadDemo {
public static void main(final String[] args) {
new ChildClass();
}
}
class MyThread extends Thread {
private final BaseClass workingClass;
public MyThread(final BaseClass aBaseClass) {
this.workingClass = aBaseClass;
}
@Override
public void run() {
System.out.println("This thread is workin on "
+ this.workingClass.getDescription());
}
}
class BaseClass {
public BaseClass() {
final MyThread myThread = new MyThread(this);
myThread.start();
}
protected String getDescription() {
return "This is the base class";
}
}
class ChildClass extends BaseClass {
private final String description;
public ChildClass() {
this.description = "This is the ";
}
@Override
protected String getDescription() {
return this.description;
}
}