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,如果是则不执行后面的方法
  }
}
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值