Java編譯器compileClass()方法



描述

Java編譯器compileClass()方法編譯指定的類。

注意 − 此API自Java 9起已棄用,在Java 21及以後版本中不可用。

宣告

以下是java.lang.Compiler.compileClass()方法的宣告

public static boolean compileClass(Class<?> clazz)

引數

clazz − 這是一個類。

返回值

如果編譯成功,此方法返回true;如果編譯失敗或沒有可用的編譯器,則返回false。

異常

NullPointerException − 如果clazz為null。

為編譯器準備命令示例

以下示例顯示了java.lang.Compiler.compileClass()方法的用法。在這個程式中,我們建立了兩個類CompilerDemo和SubClass1。在main方法中,建立了CompilerDemo和SubClass1的例項。使用getClass()方法,我們檢索了它們的類。現在使用compileClass()方法,我們編譯了SubClass1類,並列印結果。

package com.tutorialspoint;

public class CompilerDemo {

   public static void main(String[] args) {

      CompilerDemo cls = new CompilerDemo();
      CompilerDemo subcls = new SubClass1();

      // class CompilerDemo
      Class c = cls.getClass(); 
      System.out.println(c);

      // sub class SubClass1
      Class c1 = subcls.getClass();
      System.out.println(c1);

      /* returns false if the compilation failed or no compiler is 
         available */
      boolean retval = Compiler.compileClass(c1);

      System.out.println("Return Value = " + retval); 
   }
} 

class SubClass1 extends CompilerDemo {
   // sub class
} 

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

class com.tutorialspoint.CompilerDemo
class com.tutorialspoint.SubClass1
Return Value = false
java_lang_compiler.htm
廣告