📜  Java中的编译器类

📅  最后修改于: 2022-05-13 01:54:45.330000             🧑  作者: Mango

Java中的编译器类

Compiler Class为Java代码到 Native Code 提供支持和相关服务。本机代码是一种可以说是在虚拟机(例如,[JVM] Java虚拟机)中运行的代码形式。

宣言:

public final class Compiler extends Object

Java编译器类的方法 

1. 命令()

Java.lang.Compiler.command()测试参数类型并执行一些记录操作。

句法:

public static boolean command(Object argument)

参数:

  • 参数:需要特定于编译器。

返回:它返回编译器特定的值。

异常:它抛出 NullPointerException。

2. 编译类()

Java.lang.Compiler.compileClass()编译指定的类。

句法:

public static boolean compileClass(Class c)

参数:

  • c:要编译的类。

返回:如果编译成功则返回true。否则,假的。

异常:它抛出 NullPointerException。

3.启用()

Java.lang.Compiler.enable()导致编译器开始运行。

句法 :

public static void enable()

返回:它什么也不返回。

4.禁用()

Java.lang.Compiler.disable()停止编译器执行操作。

句法 :

public static void disable()

返回:它什么也不返回。

5. 编译类()

Java.lang.Compiler.compileClasses()编译名称为字符串的类——“str”。

句法:

public static boolean compileClasses(String string)

参数:

  • str:要编译的类的名称。

返回:如果类编译成功返回true。

异常:它抛出 NullPointerException。

例子:

Java
// Java Program illustrating the use
// of Compiler class Methods.
 
import java.lang.*;
 
public class NewClass {
    public static void main(String[] args)
    {
        CompilerClass geek = new CompilerClass();
 
        // Use of enable() :
        Compiler.enable();
 
        // class CompilerDemo
        Class c = geek.getClass();
        System.out.println(c);
 
        // Use of command() :
        Object g = Compiler.command("javac CompilerClass");
        System.out.println("Value : " + g);
 
        // Use of compileClass :
        // Since it is not a subclass so there is no
        // compiler for it
        boolean check = Compiler.compileClass(c);
        System.out.println(
            "\nIs compilation successful ? : " + check);
 
        String str = "CompilerClass";
        boolean check1 = Compiler.compileClasses(str);
 
        System.out.println(
            "\nIs compilation successful using str ? : "
            + check1);
 
        // Use of disable() :
        Compiler.disable();
    }
 
    private static class CompilerClass {
        public CompilerClass() {}
    }
}


输出:

class NewClass$CompilerClass
Value : null

Is compilation successful ? : false

Is compilation successful using str ? : false