趁有空,再了解一下GROOVY中关于类的通例

简介:

简单的,浅浅的看一下。

想起了RUBY里覆盖类的方法。。。

在GROOVY里也同样提到了,比如TOSTRING。。。

(其实,在我以前的经验中,从未用过这些东东。。:))

这样用了PACKAGE,显得正规点。。

Song.groovy

复制代码
package org.acme.groovy

class Song {

    def name
    def artist
    def genre
    
    String toString(){
        "${name}, ${artist}, ${genre}"
    }
    
    def getGenre(){
        genre?.toUpperCase()
    }

}
复制代码

SongExample.groovy

复制代码
package org.thirdparty.lib
import org.acme.groovy.Song

class SongExample {


    static main(args) {
        def sng = new Song(name:"Le Freak",
            artist:"Chic", genre:"Disco")
        def sng2 = new Song(name: "Kung Fu Fighting", genre: "Disco")
        def sng3 = new Song()
        sng3.name = "Funkytown"
        sng3.artist = "Lipps Inc."
        sng3.setGenre("Disco")
        
        assert sng3.genre == "Disco".toUpperCase()
        
        println sng2.artist?.toUpperCase()
        
        println sng3.getArtist()
        println sng.name
        println sng.getGenre()
        println sng3.toString()
        
        
    
    }

}
复制代码

输出:

目录
相关文章
|
6月前
|
JavaScript 安全 编译器
CocosCreator 面试题(六)什么是泛型,有什么作用?
CocosCreator 面试题(六)什么是泛型,有什么作用?
|
5月前
|
SQL Java 数据库连接
|
6月前
|
前端开发 Java 编译器
Java的第十六篇文章——枚举、反射和注解(后期再学一遍)
Java的第十六篇文章——枚举、反射和注解(后期再学一遍)
|
8月前
|
Java
十五 Java反射机制
十五 Java反射机制
29 0
|
9月前
|
C++
【C++】如何写一个C++类?
【C++】如何写一个C++类?
57 0
|
9月前
|
IDE Java 开发工具
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
|
11月前
|
XML 缓存 Java
Java注解怎么用
Java注解怎么用
202 0
|
Java 编译器
「 Java基础-Lambda 」试试Lambda表达式?通俗易懂得嘞!
本文从Lambda表达式的基础概念、函数式接口、以及Lambda表达式的常用示例几方面完整的讨论了这一Java8新增的特性,实际开发中确实为我们提供了许多便利,简化了代码。欢迎小伙伴继续提出不同的见解一起讨论!
「 Java基础-Lambda 」试试Lambda表达式?通俗易懂得嘞!
|
Java
Java8新特性:Lambda表达式终结篇(一)——再看不懂我找不到女朋友
Java8新特性:Lambda表达式终结篇(一)——再看不懂我找不到女朋友
58 0