大家好:
小弟初学,那天打了段代码入下:
import java.util.*;
class TimerTaskDemo extends TimerTask{
public void run(){
System.out.println("Timer task executed");
}
} class TimerDemo{
public static void main(String[] args){
TimerTaskDemo myTask=new TimerTask();//就是这里出了问题!
Timer myTimer=new Timer();
myTimer.schedule(myTask,1000,1000);
try{
Thread.sleep(5000);
}catch(InterruptedException exc){}
myTimer.cancel();
}
}报错误了说是new TimerTask()是个抽象类,改成new TimerTaskDemo()就可以了。
小弟不知 抽象类为什么不能直接定义对象啊,它跟普通的类有什么区别啊
请各位赐教!谢谢!!
小弟初学,那天打了段代码入下:
import java.util.*;
class TimerTaskDemo extends TimerTask{
public void run(){
System.out.println("Timer task executed");
}
} class TimerDemo{
public static void main(String[] args){
TimerTaskDemo myTask=new TimerTask();//就是这里出了问题!
Timer myTimer=new Timer();
myTimer.schedule(myTask,1000,1000);
try{
Thread.sleep(5000);
}catch(InterruptedException exc){}
myTimer.cancel();
}
}报错误了说是new TimerTask()是个抽象类,改成new TimerTaskDemo()就可以了。
小弟不知 抽象类为什么不能直接定义对象啊,它跟普通的类有什么区别啊
请各位赐教!谢谢!!
这句是不是不有其它的问题啊,假设TimerTask不是抽象类,拿父类的对象交给子类的与用也是不安全的啊!
另外,同意rbin的观点
如:public void abstract play();
是安全的,这正是Upcasting