关于在java.util包中的process,runtime类的疑问? 看来你对多态的理解不够啊返回的就是process的子类,对象的实际类型是运行期决定的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 返回的就是process的子类,对象的实际类型是运行期决定的.如楼上所说。 楼主说你的程序没有报错?不会吧,是p.waitFor();而不是p.waitfor吧 但是我看了一下java的库结构,java.lang.Process并没有子类啊,所以waitfor(),destroy()等抽象方法是谁来实现的呢,我就是这个有疑问啊 我猜想是java运行时环境提供了一个Process的默认实现; 回复人: shaxiren(冰河) ( ) 信誉:100 2004-03-19 11:42:00 得分:0 但是我看了一下java的库结构,java.lang.Process并没有子类啊,所以waitfor(),destroy()等抽象方法是谁来实现的呢,我就是这个有疑问啊 请问你是在哪里查的库结构,是javadoc吗?事实上你得到的的确是Process的一个子类,并且它实现了waitfor方法。只不过在你所查的库结构中没有记载而已。在你举的例子当中,你并不需要知道这个子类的具体类型,你只需要得到一个某某Process,它能实现Process的所有功能就可以了。比方说:你要招一个秘书,那么人事部门就提供给你一个秘书,只要他能合格的完成秘书的所有任务就可以了,你还去打听人家姓甚名谁,是男是女,是否未婚干什么? 记住,以OO的观点,张秘书,李秘书都是秘书,不要以为exec返回的就一定是Process类,返回一个Process的子类是完全合法的。 楼主对多态型还是不了解加入interface A{void fun();}class B implements A{public void fun(){}}A a = new B();a.fun(); 楼上的道理我是知道的,可是并没有子类来实现Process的方法啊,如果有子类的话,那个子类叫什么名字呢 楼主怎么还不明白呢?1 这个子类的确是存在的!尽管你不能从库结构中找到它的描述2 这个子类叫什么名字和你一点关系都没有,你雇个秘书还要打听人家的私事干什么?3 如果你一定想知道的话可以在p.waitfor()前面加一句:System.out.println(p.getClass()); 练习题求指教 一个小程序,请看看 不知大家遇到过没? 在JAVA中怎么让窗体没有标题栏? html是否可以调用.jar包,如果不可以,那如何用浏览器运行涉及到好几个目录和包资源的applet? RandomAccessFile向output.txt写中文时出现乱码,求教!!! JTREE的问题 请问何谓B/S? 看看错在哪里?计算1/1600,要求精确到小数点后50位,我才学到数组 为什么String.join()找不到呢 Socket中怎么判断对方已经断开? 大家好,请问这个循环到底是怎么做的。:D
如楼上所说。
但是我看了一下java的库结构,java.lang.Process并没有子类啊,所以waitfor(),destroy()等抽象方法是谁来实现的呢,我就是这个有疑问啊
请问你是在哪里查的库结构,是javadoc吗?事实上你得到的的确是Process的一个子类,并且它实现了waitfor方法。只不过在你所查的库结构中没有记载而已。
在你举的例子当中,你并不需要知道这个子类的具体类型,你只需要得到一个某某Process,它能实现Process的所有功能就可以了。比方说:你要招一个秘书,那么人事部门就提供给你一个秘书,只要他能合格的完成秘书的所有任务就可以了,你还去打听人家姓甚名谁,是男是女,是否未婚干什么?
加入
interface A{
void fun();
}
class B implements A{
public void fun(){}
}A a = new B();
a.fun();
1 这个子类的确是存在的!尽管你不能从库结构中找到它的描述
2 这个子类叫什么名字和你一点关系都没有,你雇个秘书还要打听人家的私事干什么?
3 如果你一定想知道的话可以在p.waitfor()前面加一句:System.out.println(p.getClass());