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
有了第一题的经验第二题做对惹