Groovy快速入门-8-方法

短命女 2021-12-09 15:27 513阅读 0赞

这篇来学习方法,这个太重要了,每天写代码都是写在方法里。方法是任何编程语言的核心,就是处理一个特定需求的过程,都可以写到一个或者几个方法中。有些编程语言叫函数,Java这边习惯叫方法。

1.什么是方法

简单来说方法就是一个代码块,这个代码块有名称,可以有参数,然后提供给别的代码调用,有时候有返回值,谁调用方法,方法就把返回值给谁。

  1. 1)一个有名称的代码块
  2. 2)是代码模块化和可复用
  3. 3)支持传入参数
  4. 4)可以有返回类型

下面写一个打印Hello Groovy的方法,没有返回值。

  1. package com.anthony.test
  2. def myPrint() {
  3. println "Hello Groovy"
  4. }
  5. myPrint()

如果不写myPrint(), 你是无法通过 Run as Groovy script来运行这个方法。不写就表示这个方法在这里,但是没有任何代码去调用,所以没有触发打印语句。这个方法没有返回值,这只是一个打印消息的功能。

2.带参数的方法

很多方法都是有参数,不然就没有意义,什么都写死就是硬编码,参数从一个到七八个的都很常见,在编程中。

  1. package com.anthony.test
  2. def sum(int a, int b) {
  3. println "sum is " + (a + b)
  4. }
  5. sum(3, 5)

3.带返回值的方法

  1. package com.anthony.test
  2. def sum(int a, int b) {
  3. return (a + b)
  4. }
  5. int result = sum(3, 5)
  6. println result

如果有返回值,记住这句话,谁调用我,我就给谁返回。最好要区分下返回值类型,例如数组和List还是有区别,方便后续的遍历操作,我们最好定义一个和返回值类型一样的数据类型去接受方法的返回值。

4.方法的初始化

方法大部分是保存在Class文件中类中,在使用方法之前,我们必须要初始化这个类的对象,然后通过对象点方法名的方式去调用方法,这个就是成员方法被调用所需要的步骤,静态方法就可以直接通过类名调用。

在一个Class中(MethodDemo.groovy)写入以下代码

  1. package com.anthony.test
  2. class MethodDemo {
  3. static void main(args) {
  4. MethodDemo md = new MethodDemo()
  5. def int result = md.myMethod(5, 8)
  6. println result
  7. }
  8. def myMethod(int a, int b) {
  9. return (a+b)
  10. }
  11. }

通过Run as Java Application运行代码。在main方法中就是先初始化本类的一个类对象,然后才能调用成员方法。

5.方法参数是一个Map的如何调用

举例一个开发中方法的参数经常写成Map的场景。

  1. package com.anthony.test
  2. class MethodDemo {
  3. static void main(args) {
  4. MethodDemo md = new MethodDemo()
  5. def name = "Anthony"
  6. def age = 18
  7. def gender = "Men"
  8. def city = "Beijing"
  9. md.printPersonInfo(name:name, age:age, gender:gender, city:city)
  10. }
  11. def myMethod(int a, int b) {
  12. return (a+b)
  13. }
  14. def printPersonInfo(Map args) {
  15. def name = args.name
  16. def age = args.age
  17. def gender = args.gender
  18. def city = args.city
  19. def personInfo = """
  20. ${name} is from ${city},
  21. he is ${age} old, his gender is ${gender}
  22. """
  23. println personInfo
  24. }
  25. }

通过Run as Java Application

  1. Anthony is from Beijing,
  2. he is 18 old, his gender is Men

发表评论

表情:
评论列表 (有 0 条评论,513人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Groovy 快速入门

    Groovy是一门基于JVM的动态语言,很多语法和Java类似。大部分Java代码也同时是合法的Groovy代码。本文是快速入门,所以针对语法并不会做非常详细的介绍。如果需要详

    相关 Groovy快速入门-1-Groovy简介

           补上一个系列,叫Groovy快速入门,如果你学习过Java并且有一定的水平,其实Groovy项目中,你完全可以百分百Java代码实现,这没有毛病,如果你学习的是P

    相关 Groovy快速入门-10-Map

    前面学习了List集合,这篇来学习Map,也是集合中的一种容器,特点就是键值对形式。这个Map,我在前面介绍方法的时候,写过,参数传入格式就是map.   1.Map的创建

    相关 Groovy快速入门-8-方法

    这篇来学习方法,这个太重要了,每天写代码都是写在方法里。方法是任何编程语言的核心,就是处理一个特定需求的过程,都可以写到一个或者几个方法中。有些编程语言叫函数,Java这边习惯