Java08——继承
1. 继承
父类:
package com.zsq.extend.improve_;
//是pupil和graduate的父类
public class Student {public String name;public int age;private double score;public void info(){System.out.println("姓名:"+ name + " 年龄:" + age + " 成绩:" + score);}public void setScore(double score) {this.score = score;}
}
两个子类:
package com.zsq.extend.improve_;public class Pupil extends Student {public void testing(){System.out.println("小学生" + name + "正在考试......");}
}
package com.zsq.extend.improve_;public class Gradute extends Student {public void testing(){System.out.println("大学生" + name + "正在考试......");}
}
主方法:
package com.zsq.extend.improve_;public class Extends02 {public static void main(String[] args) {Pupil xxs = new Pupil();xxs.name = "zsq";xxs.age = 18;xxs.setScore(99);xxs.testing();xxs.info();System.out.println("=======");Gradute dxs = new Gradute();dxs.name = "zhy";dxs.age = 19;dxs.setScore(100);dxs.testing();dxs.info();}}
2. 继承的细节(重要)
第1个细节
让父类提供一个方法去访问父类的私有属性
父类里面有个私有方法叫test400,子类不能直接调用,所以写一个公共的方法callTest400(也就是叫做调用test400)让子类继承这个公共的方法,就可以调用上面的私有方法啦~
第2部分细节
第3部分细节
第4部分细节
3. 继承的本质 (重要)
4. 继承的课堂练习
自己做的错误答案:a name b
注意:this("abc")调用的是本身的带名字的构造器,而不是父类的。
且构造器里面super和this不能同时存在
子类B(String name){这边默认一个super()}
所以最终答案:a b name b
有了第一题的经验第二题做对惹