一、Groovy方法介绍
- Groovy中的方法是使用返回类型或使用def关键字定义的。
- 方法可以接收任意数量的参数
- 定义参数时,不必显式定义类型
- 可以添加修饰符,如public、private和protected。默认情况下,该方法为public
def methodName(){
// Method code
}
class FirstTest{
static def printHello(){
println "Hello"
}
static void main(String[] args) {
printHello()
}
}
二、方法参数
如果一个方法的行为由一个或多个参数的值确定,则它通常是有用的。可以使用方法参数将值传递给被调用的方法,参数名称必须彼此不同
def methodName(parameter1, parameter2, parameter3){
//Method code goes here
}
class FirstTest{
static def addTest(a,b){
println a+b
}
static void main(String[] args) {
addTest(1,2)
}
}
三、默认参数
- 如果没有值传递给参数的方法,则使用缺省值。
- 如果使用非默认和默认参数,默认参数应在参数列表的末尾定义
def someMethod(parameter1, parameter2 = 0, parameter3 = 0){
//Method code goes here
}
class FirstTest{
static def addTest(a,b=10){
println a+b
}
static void main(String[] args) {
addTest(1)
}
}
四、方法返回值
方法也可以将值返回到调用程序。其中方法执行某种计算,然后将所需值返回到调用方法
class FirstTest{
static addTest(a,b){
return a+b
}
static void main(String[] args) {
println addTest(1,2)
}
}
五、实例方法
方法通常在Groovy中的类中实现,就像Java语言一样。类只是一个蓝图或模板,用于创建定义其属性和行为的不同对象。类对象显示由其类定义的属性和行为。因此,通过在类中创建方法来定义行为
class FirstTest{
int x;
public getX(){
return x;
}
public setX(pX){
x = pX;
}
static void main(String[] args) {
FirstTest ex = new FirstTest()
ex.setX(100)
println ex.getX()
}
}
六、本地和外部参数名称
Groovy提供的设施就像java一样具有本地和全局参数。局部参数只具有函数内的作用域,全局属性可以在整个类中访问
class FirstTest{
static int x = 100;
public static int getX(){
int lx = 200
println lx
return x
}
static void main(String[] args) {
println getX()
}
}
七、方法属性
就像在Java中一样,groovy可以使用this关键字访问它的实例成员
class FirstTest{
int x = 100;
public int getX(){
this.x = 200
return x
}
static void main(String[] args) {
FirstTest ex = new FirstTest()
println ex.getX()
}
}