例一:父类与子类is a关系(继承extends)
//用final修饰的类被称之为–最终类、终态类
//这种类是不能再产生子类的了。
//方法用final修饰就表示该方法不能被重写
//方法重写—从父类继承而来的方法,子类重新实现
//1、方法名必须保持一致;
//2、参数列表必须保持一致;
//3、返回类型必须一致;
//4、访问修饰符必须大于等于父类;
//5、子类重写后的方法不能抛出比父类重写前的方法更多的异常(下册第一章讨论)
父类:
public class Father {
private String name;
private int age;
public Father(){
System.out.println("父类无参构造方法1");
}
public Father(String name, int age){
System.out.println("父类有参构造方法2");
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//父类有唱歌的行为
public void sing(){
System.out.println("啊~~~牡丹~~~~");
}
}
子类:
public class Son extends Father{
private int score;
public Son(){
this("li4",18,50);//调本类的有参构造
}
public Son(String name,int age, int score){
super(name,age);//调父类的构造方法
this.score = score;
}
//子类继承并重写父类唱歌方法
public void sing(){
System.out.println("啊~~~五环~~~~");
}
public void test(){
this.sing();//调本类的方法
super.sing();//super.调父类的方法
}
}