连续学了几天了,这两天手头工作多,一下子忘记学习新东西了,间断性写一点
package net.edaibu.kotlintest.ClassAndExtends
/**
* @author geqipeng
*
* @date 2017/5/25
*
* @time 9:35
*/
//泛型
class Box<T>(t: T) {
val value = t
}
//val box:Box<Int>=Box<Int>(1)
//类型推断 自动推断为int类型
val box = Box(1)
//嵌套类
class Outer {
private val test: Int = 1
class Inner {
fun InnerMethod() = 10
}
}
//内部类 内部类用inner修饰,持有对外部类的引用,和java一样
class Outer2 {
private val test2: Int = 2
inner class Inner2 {
fun InnerMethod2() = test2
}
}
//匿名内部类
abstract class ClassNoName {
abstract fun play()
}
//枚举类
enum class EnumTestClass{
MONDAY,TUESDAY,WEDNESDAY
}
//枚举类初始化
enum class ColorTest(val rgb:Int){
RED(0XFF0000),
GREEN(0X00FF00),
BLUE(0X0000FF)
}
//匿名类
enum class EnumTestClass2{
//常量
READ{
override fun single()=Talking
},
Talking {
override fun single()=READ
};
abstract fun single():EnumTestClass2
}
fun main(args: Array<String>) {
println("嵌套类——————————————————————————————")
println(Outer.Inner().InnerMethod()) //10
println("内部类测试——————————————————————————")
println(Outer2().Inner2().InnerMethod2()) //2
println("枚举类————————————————————————————————")
println(ColorTest.BLUE) //BLUE
println("常量_________________________")
println(EnumTestClass2.READ.single()) //Talking
println(EnumTestClass2.Talking.single()) //READ
}