Gradle:3.groovy面向對象

/**
 * 默認class 屬性值 均爲public權限
 */

class Person {
    String name
    int age

    def increaseAge(int d) {
        age += d
    }
}

/** 無論直接.還是調用get/set 最終都是調用get/set */
def person = new Person(name: "iblade", age: 21)
println "the name is ${person.name}," +
        "\nthe age is ${person.age}"


interface Action {
    //接口方法必須是public,不能是其他,此處與java不用
    void eat()

    void drink()

    void play()
}

class Human implements Action {
    @Override
    void eat() {

    }

    @Override
    void drink() {

    }

    @Override
    void play() {

    }
}
//trait 介於類似抽象類 ,可以實現部分方法,未實現方法用abstract修飾
//編程中極少用法 該類型
trait DefaultAction {
    abstract void eat()

    void play() {
        println 'I can play'
    }
}

//解釋執行的js ,編譯執行的java,運行時期執行的代碼 例如java中的反射
//java直接在第一步編譯時期 找到方法就報錯了,不存在類似MetaClass運行時期再去尋找該方法

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章