Groovy 기본 사용 (4): Java Groovy 상호 호출

1998 단어 Groovy기본 사용
자바 Groovy 상호 호출
Groovy 와 자바 사이 에는 매우 좋 은 상호 조정 과정 이 있다.
Groovy 자바 클래스 호출
groovy 는 자바 class 를 호출 하 는 것 이 매우 편리 합 니 다. 클래스 전에 이 자바 류 를 가 져 오기 만 하면 Groovy 코드 에서 이 자바 류 를 빈 틈 없 이 사용 할 수 있 습 니 다. 다음 과 같 습 니 다.
import java.util.Random;   
class test5 {
    static void main(String[] args){
        
        Random random = new Random();     //  Java.util.Random
        for(i in 0..<10)
            println(random.nextInt(100));
    }
}

자바 호출 Groovy 클래스
만약 에 호출 해 야 할 Groovy 류 는 다음 과 같다 고 가정 하면 자바 코드 에서 이 Groovy 류 를 호출 하 는 방법 은 두 가지 가 있 습 니 다.
GroovyDemo.groovy
class GroovyDemo {
    private String word;
    GroovyDemo(String word) {
        this.word = word
    }
    String sayHello(){
        return "Hello,${word}";
    }
}

1) 방법 1: 직접 호출
IDEA/Eclipse 개발 환경 에서 해당 하 는 groovy 해석 기 플러그 인 을 설치 하면 자바 코드 에서 groovy 를 직접 호출 할 수 있 습 니 다. 이런 방식 에서 컴 파일 러 는 groovy 류 를 class 로 자동 으로 컴 파일 한 다음 에 이 자바 류 에서 호출 합 니 다.
public class Test {
    public static void main(String[] args){
        GroovyDemo demo = new GroovyDemo("assad");
        System.out.println(demo.sayHello());
    }
}

2) 방법 2: 반사 동적 호출
groovy 클래스 를 반사 적 으로 호출 합 니 다. groovy 스 크 립 트 가 수정 되면 다시 컴 파일 하지 않 고 자동 으로 실행 하여 groovy 스 크 립 트 의 동적 호출 을 실현 합 니 다.
 public class Test {
    public static void main(String[] args) throws IOException, IllegalAccessException, InstantiationException {
       
        //   groovy       
        ClassLoader parent = getClass().getClassLoader();  
        GroovyClassLoader loader = new GroovyClassLoader(parent);  
        Class groovyClass = loader.parseClass(new File("demo/GroovyDemo.groovy"));  
        
        //    GroovyDemo  
        GroovyObject groovyObj = (GroovyObject) groovyClass.newInstance("assad");  
        //   groovyDemo     
        System.out.println( groovyObj.invokeMethod("sayHello",null));
    }
}

좋은 웹페이지 즐겨찾기