neuObjekt erstellen iststatischLaden von Klassen: Sie müssen alle Klassen laden, die zur Kompilierungszeit verwendet werden können.
Einhundert Klassen, eine Klasse ist falsch und kann nicht kompiliert werden.
Dieses Problem kann durch dynamisches Laden von Klassen gelöst werden
Interface kompiliert dynamisch die Klasse
Classund ruft dann die Instanz auf, um die dynamische Kompilierung abzuschließen
1 public class OfficeBetter { 2 3 public static void main(String[] args) throws InstantiationException, IllegalAccessException { 4 try { 5 //动态加载类,在运行时刻加载 6 Class c =Class.forName(args[0]); 7 //通过类类型,创建该类对象 8 OfficeAble oa =(OfficeAble)c.newInstance(); 9 oa.start();10 } catch (ClassNotFoundException e) {11 e.printStackTrace();12 }13 14 } 15 16 }
2.2 OfficeAble.java
1 public interface OfficeAble {2 public void start();3 }
Implementieren Sie die OfficeAble-Schnittstelle.
Alle ursprünglich geschriebenen Dinge sind nicht erforderlich. Neu kompilieren und einfach die neue Funktion ausführen
1 public class Word implements OfficeAble{2 3 public void start() {4 System.out.println("word....starts...");5 }6 7 }
Das obige ist der detaillierte Inhalt vonDynamische Kompilierung von Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!