/** * 继承 * Created by xiaoxiaomo on 2016/4/4. */ classParent{ //父类 val name = "xiaomo";//通过val重写 val age = 25 ; //通过val重写 var height = 175.0 ;//子类没有重写 privateval six = 0 ;//私有字段 protectedval money = 9999999;//protected
//无参方法 defsupSex= six ;
//say方法 defsay(info:String){ println("Parent say ,"+ info) } }
classSubClassextendsParent{ //子类 //val重写父类val参数 overrideval name = "xiaoxiaomo" overrideval age = 24 ; overrideval money = 99999
/** * 第一个子类 * 继承超类的主构造器 * @param age 传递给父类 * @param name */ classConstructorSub1(age:Int,override val name:String) extendsConstructorPartDemo(age){
println("子类1,主构造器")
//主构造器重已经重写了字段name,下面就不能再次重写 //override val name = "xiaoxiaomo" //辅助构造器 defthis( name : String, age : Int){ this(age,name) println("子类1,辅助构造器,name:"+name+" age:"+age+" height:"+height) } }
/** * 第二个子类 * 继承超类的辅助构造器 * @param age 传递给父类 * @param name 传递给父类 * @param height */ classConstructorSub2(age:Int,override val name:String,height:Double) extendsConstructorPartDemo(name,age){
println("子类2,主构造器")
//辅助构造器 defthis( name : String, age : Int){ this( age , name , 175 ) println("子类2,辅助构造器,name:"+name+" age:"+age + " height:"+height) } }