Java Compiler compileClass()方法与示例

编译器类compileClass()方法

  • compileClass()方法在java.lang包中可用。

  • compileClass()方法用于编译给定的类。

  • compileClass()方法是一个静态方法,可以使用类名进行访问,如果尝试使用类对象访问该方法,则不会出现任何错误。

  • 在编译给定类时,compileClass()方法可能会引发异常。
    NullPointerException:当给定的Class参数为null时,可能引发此异常。

语法:

    public static boolean compileClass(Class cl_name);

参数:

  • 类cl_name –表示类的名称。

返回值:

此方法的返回类型为String,它根据给定的情况返回以下值,

  • 给定类成功编译后,它返回true。

  • 当给定的类失败或不存在编译器时,它返回false。

示例

//Java程序演示示例 
//编译器的boolean compileClass(Class cl_name)方法的说明 

public class Parent {
    public static void main(String args[]) {
        //创建父子类对象
        Parent p1 = new Parent();
        Parent p2 = new Child();

        //通过使用getClass()方法是获取一个Parent类
        Class cl1 = p1.getClass();
        System.out.println("p1.getClass() = " + cl1);

        //通过使用getClass()方法是获取一个Child类
        Class cl2 = p2.getClass();
        System.out.println("p2.getClass() = " + cl2);

        //通过使用compileClass(Class cl)方法是编译Parent class-
        //如果返回则返回布尔值,然后编译给定的类 
        //成功,否则编译失败或不存在编译器
        boolean status = Compiler.compileClass(cl1);
        System.out.println("Compiler.compileClass(cl1) = " + status);
    }
}

class Child extends Parent {
    public void show() {
        System.out.println("We are in Child class: ");
    }
}

输出结果

p1.getClass() = class Parent
p2.getClass() = class Child
Compiler.compileClass(cl1) = false