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运行时期再去寻找该方法

在这里插入图片描述

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