首先肯定得先了解一下类和对象
类:是一个抽象的概念,是具有某些特征的事物的概括,不特定指代任何一个具体的事物
具体:抽象的人、车
对象:是一个具体的概念、与类相对,描述某一种类的具体个体
举例:某些人、领导的车、你手中那本Java编程思想
类和对象的关系:
一个类通常可以有很多个具体的对象
一个对象本质上只能从属于一个类
例如:某一个人,他是工程师,但它本质上还是属于人这一类
类的继承:
提取多个类的共性得到一个更加抽象的类,即父类
子类拥有父类的一切特征
子类还可以自定义自己的更多特性
所有的类都最终继承自Any(java是object类)
一、最简的类的创建和调用
//最简构造方法
class persion (val name: String, val gender: String, val age: Int)
//调用构造方法
val linda: persion = persion("linda","女",22)
二、复杂一些并输出
package net.println.kotlin
/**
* @author:wangdong
* @description:
*/
//最简构造方法
class persion (val name: String, val gender: String, val age: Int){
//构造方法的方法体
init {
println("创建了一个新的同学,他的名字:$name,他的性别:$gender,他的年龄:$age")
}
}
class animal(val name: String, val gender: String, val age: Int){
//构造方法的方法体
init {
println("创建了一个新的动物,他的名字:$name,他的性别:$gender,他的年龄:$age")
}
}
fun main(args: Array<String>) {
//调用构造方法
val linda: persion = persion("linda","女",22)
val sean: persion = persion("sean","男",24)
val tom: animal = animal("sean","男",24)
}
输出的结果
创建了一个新的同学,他的名字:linda,他的性别:女,他的年龄:22
创建了一个新的同学,他的名字:sean,他的性别:男,他的年龄:24
创建了一个新的动物,他的名字:sean,他的性别:男,他的年龄:24
三、方法的抽取
/**
* @author:wangdong
* @description:
*/
//抽象后类和构造方法
class persion (name: String, gender: String, age: Int): creator(name,gender, age)
class animal(name: String, gender: String, age: Int): creator(name,gender,age)
open class creator(var name: String,var gender: String,var age: Int){
init {
println("创建了一个${this.javaClass.simpleName}同学,他的名字:$name,他的性别:$gender,他的年龄:$age")
}
}
fun main(args: Array<String>) {
//调用构造方法
val linda: persion = persion("linda","女",22)
val sean: persion = persion("sean","男",24)
val tom: animal = animal("tom","女",23)
}