什么是继承
1. 继承是从已有的类中派生出新类,新的类能吸收已有类的数据属性和方法,并且能扩展新的能力。
2.继承是面向对象的三大特征之一(封装,继承,多态)
继承的特点
优点 1.提高代码的复用性。
2.提高可维护性.
3.代码的安全性。
4.简化了逻辑清晰的体现层次结构。
5.降低了程序的耦合性,增加了程序的易维护性。
特征:单继承 传递性
继承的语法格式 修饰符 class 子类 extends 父类{} 继承的关键词,extends
二.方法的重写(两同两小一大)
方法名相同
形参列表相同
子类的方法的返回值类型应该比父类方法的返回值类型更小或相等
子类方法抛出的异常类应该比父类方法抛出的异常类更小或相等
子类方法的访问权限应该比父类方法的访问权限更大或相等
三.super关键词
super关键字
1.super和this的用法很像
2.this代表本类对象的引用
3.super代表父类的内存空间的标识
4.当子类父类出现同名成员时,可以用super进行区分
5.子类要调用父类构造方法或者成员方法时,可以使用super语句
首先我们创建三个子类和一个父类
大雁类
package com.lenovo.entity;
public class DaYan extends Bird{
private String weight;
private String feather;
public void Lineshape(){
}
public void flysouth() {
}
}
鸭子类
package com.lenovo.entity;
public class Duck extends Bird{
private String move;
private String foot;
public void diving() {
}
public void walk() {
}
}
海鸥类
package com.lenovo.entity;
public class Haiou extends Bird{
private String eye;
private String mouth;
public void Haiou() {
System.out.println("1");
}
public void swim() {
System.out.println("2");
}
public void catcher() {
System.out.println("3");
}
}
父类鸟类
package com.lenovo.entity;
public class Bird {
private String color;
private int age;
private String eat;
public void fly() {
System.out.println("18");
}
public void findfood() {
System.out.println("17");
}
public void cry() {
System.out.println("16");
}
}
在创建一个测试类
package com.lenovo.entity;
public class test {
public static void main(String[] args) {
Bird b = new Bird();
Haiou h = new Haiou();
h.fly();
}
}