Compiler类为Java代码提供对本地代码的支持和相关服务。
本机代码是一种可以在虚拟机中运行的代码形式(例如,[JVM] Java虚拟机)。
public final class Compiler
extends Object
方法 :
command():java.lang.Compiler.command()测试参数类型并执行一些记录的操作。
句法 :
public static boolean command(Object argument)
参数:
argument:需要是编译器特定的。
返回:
编译器具体的值
异常:
- > NullPointerException
compileClass():java.lang.Compiler.compileClass()编译指定的类。
句法 :
public static boolean compileClass(Class c)
参数:
c:要编译的类。
返回:
如果编译成功,则返回true,否则为false
异常:
- > NullPointerException
enable():java.lang.Compiler.enable()使编译器开始操作。
句法 :
public static void enable()
参数:
------
disable():java.lang.Compiler.disable()停止编译器执行操作。
句法 :
public static void disable()
参数:
-------
返回:
空
compileClasses():java.lang.Compiler.compileClasses()编译名称为字符串的类 - “str”
语法:
public static boolean compileClasses(String string)
参数:
str:要编译的类的名称
返回:
如果类已成功编译,则为true
例外:
- > NullPointerException
// 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