`
jxd_zxf
  • 浏览: 231490 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Groovy学习笔记之四——Groovy的类

阅读更多
类使用时注意的一些特别之处:
1、类定义不需要public修饰符,且不需要括号;
2、属性定义使用def关键字作为类型;
3、自动创建一个构造函数,构造函数接收一个键值对映射,映射的KEY对应属性名称,映射可以只有类的部分属性;
4、自动生成标准的getter/setter方法;
5、可以使用.表达式访问属性,如class.id;
6、接收参数的方法可以省略括号,如class.setId "id1";
7、方法没有return关键字,默认最后一行为返回值,建议指定返回类型;
8、允许访问不带参数的方法时省略括号,但不建议这样做,以免被当成访问属性;
9、语句后不需要分号“;”。
 一、定义Song实体类
package org.groovy

class Song {
  def name
  def artist
  def genre

 
  //覆盖toString方法
  String toString(){
    "${name},${artist},${genre}"   //没有return,默认返回最后一行的值
  }
}
 二、定义使用类
package org.lib

import org.groovy.Song

class SongExample {
  static void main(args){
      //初始化Song
      def song = new Song(name:"中国人",artist:"李德华")

      //属性操作
      song.name = "冰雨"
      song.setName "月老"

      println song.getName()
      println song  //打印song对象,将会Song.toString()
  }
}
 
三、null异常处理
        Groovy使用?操作符防止在null对象上调用方法
 
package org.lib

import org.groovy.Song

class SongExample {
  static void main(args){
      //初始化Song
      def song = new Song(name:"中国人",artist:"李德华")

      //属性操作
      song.name = "冰雨"
      song.setName "月老"

      //println song.genre.toUpperCase()  //由于genre并未赋值(默认是null),故调用toUpperCase方法时抛空指针异常
      println song.genre?.toUpperCase()  //?会判断genre是否为null,如果是则不执行后面的方法
  }
}
 
 
分享到:
评论

相关推荐

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    Groovy 学习笔记

    1. **类和接口**: Groovy可以创建Java兼容的类和接口,因此可以直接与Java代码一起工作。 2. **Java集合增强**: Groovy提供了对Java集合的增强,如列表和映射可以使用链式调用、闭包操作等。 3. **使用Java库**: ...

    Groovy学习笔记.pdf

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...

    Groovy学习笔记

    ### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...

    groovy学习笔记

    以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...

    Groovy need not rails——介绍自己写的一个基于groovy的框架,Webx

    2. **DSL支持**:Groovy的强大之处在于其领域特定语言(DSL)能力,Webx可能会提供一套内建的DSL,让开发者能以更简洁的方式定义路由、操作和视图。 3. **自动化工具**:基于Groovy的框架通常会包含一系列自动化...

    Groovy 学习资料

    开始学习Groovy时,可以从基础语法开始,了解变量、控制流、函数和类的用法。然后深入到闭包、元编程等高级主题,最后通过实践项目巩固所学知识。 8. **总结** Groovy作为Java平台上的动态语言,不仅简化了编码,...

    Groovy学习资料

    此外,Groovy还有闭包(Closure)的概念,这是Groovy强大的功能之一,它可以用来处理函数式编程任务,如数据过滤和映射。 其次,Groovy的动态特性是另一个关键知识点。Groovy可以在运行时改变类的结构,这意味着你...

    Groovy轻松入门——Grails实战基础篇

    ### Groovy轻松入门——Grails实战基础篇 #### 搭建Grails环境及创建Grails Demo程序 **Groovy**是一种面向对象的编程语言,它运行于Java平台上,能够与Java代码无缝集成。而**Grails**则是一款基于Groovy的高性能...

    groovy和Java相互调用1

    标题中的“Groovy和Java相互调用1”指的是在编程时如何在Groovy语言环境中调用Java类,以及反之,如何在Java程序中调用Groovy类。这是一种跨语言交互的方式,特别是在混合使用Groovy和Java的项目中非常常见。 ...

    Java调用Groovy,实时动态加载数据库groovy脚本

    2. 创建GroovyClassLoader:使用这个类加载器可以动态加载和执行Groovy脚本。它继承自Java的ClassLoader,能解析Groovy源码并生成字节码。 3. 加载并执行Groovy脚本:通过GroovyClassLoader的`parseClass()`方法...

    Java JDK 6学习笔记——ppt简体版.rar

    这份"Java JDK 6学习笔记——ppt简体版"提供了关于这个关键版本的详细教程,适合初学者和有一定经验的开发者来深入理解Java编程。 首先,我们要了解Java JDK是什么。Java Development Kit,简称JDK,是Oracle公司...

    groovy 学习gradle学习经典手册

    《Groovy学习与Gradle实践经典手册》是一本深度探讨Groovy编程语言和Gradle构建工具的指南,专为Android及Java开发人员提供全面的知识覆盖。本书旨在帮助开发者提升在项目管理和自动化构建方面的技能,使其能够高效...

    Grails&Groovy学习资料

    1. Groovy基础:了解Groovy的基本语法、类和对象、集合操作、文件I/O、网络编程等。 2. Grails架构:理解MVC(模型-视图-控制器)设计模式,以及Grails中的Controller、Service、Domain Class等组件。 3. GORM和...

    Show Your ToolBox——锋利的groovy

    《Show Your ToolBox——锋利的Groovy》 在IT领域,工具的选择和使用往往直接影响到工作效率和项目质量。本文将深入探讨Groovy这门强大的动态编程语言,它以其灵活性和与Java的紧密集成,成为了许多开发者的得力...

    Java JDK 6学习笔记——ppt简体版附课本代码

    这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...

Global site tag (gtag.js) - Google Analytics