Java Compiler compileClasses()方法与示例

编译器类compileClasses()方法

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

  • compileClasses()方法用于编译其类名称符合给定String参数的所有类。

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

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

语法:

    public static boolean compileClasses(String str);

参数:

  • 字符串str –表示类的名称。

返回值:

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

  • 当成功编译给定的类时,它返回true。

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

示例

//Java程序演示示例 
//编译器的布尔compileClasses(String str)方法的说明 

public class Parent {
    public static void main(String args[]) {
        String s = "Parent";

        //创建父子类对象
        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);

        //通过使用compileClasses(String s)方法来编译 
        //父类,如果返回true,则返回布尔值
        //然后给定的类成功编译,否则 
        //编译失败或不存在编译器
        boolean status = Compiler.compileClasses(s);
        System.out.println("Compiler.compileClasses(s) = " + 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.compileClasses(s) = false