Scala和Java爲靜態語言,Groovy爲動態語言java
Scala: 函數式編程,同時支持面向對象編程
Groovy: jvm上的腳本,較好兼容java語法,Groovy增強了Java集成。jvm
可配置化的優點,能夠將一些簡單的邏輯公開給外部編輯和使用,加強了互操做性,複雜邏輯來講,可配置化代碼的調試則會比較麻煩函數式編程
Scala和Java互相調用 函數
Scala調用javagradle
定義java類,直接調用方法,或者直接import,再調用便可。this
Java調用Scalaspa
靜態方法直接傳遞參數調用便可,非靜態方法,new對象再調用方法調試
Groovy和Java互相調用code
Groovy調用Java
groovy 調用 Java class ,只須要在類前導入該 Java 類,在 Groovy 代碼中就能夠無縫使用該 Java 類,可方便接入java sdk
this.class.classLoader.rootLoader.addURL(new URL("file:///${currentDir}/lib/commons-net-3.3.jar")
User gradle
jar.archiveName 'warO.jar'
jar.manifest {
attributes 'Main-Class' : 'net.codetojoy.waro.Main'
attributes 'Class-Path' : 'jars/groovy-all-1.6.4.jar jars/guava-collections-r03.jar jars/guava-base-r03.jar'
}
#!/usr/bin/env groovy -cp ojdbc5.jar
Java 調用 Groovy
經過JAVA來加載如一個groovy腳本文件,而後調用該腳本中的方法
GroovyClassLoader invokeMethod
loader.parseClass(new File)
或者
經過設定CLASSPATH來初始化groovy腳本引擎,能夠運行該path下的任何groovy腳本文件了