java中的Process
java中的Process
Runtime.exec("notepad") 返回的Process实例是基于Process子类,这点无需质疑。
任何成功实例化的对象所属的类都是非抽象的实现类,抽象的方法已被实现。
如果想查找其真实子类,可通过:
System.out.println( Process实例引用.getClass().getName() ) // 详细可参考JAVA反射机制
或着 查源码/Debug 跟踪 Runtime.exec 方法的执行过程。
以上是我告诉你是些常用的技巧,这里根据我看到的源码说说:
Runtime.exec 实际上调用了 java.lang.ProcessBuilder 的实现,不懂的可查 API 文档;
而ProcessBuilder 内部调用 java.lang.ProcessImpl.start(...) 静态方法 返回1个 ProcessImpl实例;
ProcessImpl类 正好是 Process类 的子类。