對于一個public類,它是可以被項目中任何一個類所引用的,只需在使用它前import一下它所對應的class文件即可。將類名與文件名一一對應就可以方便虛擬機
在相應的路徑(包名)中找到相應的類的信息。如果不這么做的話,就很難去找,而且開銷也會很大。
一下是我寫的一個比較“惡心”的程序來說明這個問題,大家在使用前先要將自己JDK的bin目錄設置到環境變量path中去:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
public class Test
{
public static void main(String[] args) {
Object b = null;
try {
b = Class.forName("Hello").newInstance();
}
catch(InstantiationException e) { }
catch(IllegalAccessException e) { }
catch(ClassNotFoundException e) {
try {
FileOutputStream file = new FileOutputStream("Hello.java");
String s = "public class Hello {/r/n/t/r/n/tpublic Hello() {/r/n/t/tSyst"
+ "em.out.println(/"Hello, world!/");/r/n/t}/r/n}/r/n";
file.write(s.getBytes());
Process p = Runtime.getRuntime().exec("javac Hello.java");
System.out.println("The return value is: " + p.waitFor());
b = Class.forName("Hello").newInstance();
}
catch(FileNotFoundException ee) { }
catch(IOException ee) { }
catch(InterruptedException ee) { }
catch(InstantiationException ee) { }
catch(IllegalAccessException ee) { }
catch(ClassNotFoundException ee) { }
}
}
}
新聞熱點
疑難解答