15、Java中级进阶 面向对象 继承
1、何为面向对象
其本质是以建立模型体现出来的抽象思维过程和面向对象的方法(百度百科)是一种编程思维,也是一种思考问题的方式
如何建立面向对象的思维呢?1、先整体,再局部2、先抽象,再具体3、能做什么,再怎么做
2、何为继承
继承是面向对象三大特征之一继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类
被继承的类称为父类(超类),继承父类的类称为子类(派生类)通过继承可以实现代码重用子类拥有父类非 private 的属性、方法。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。子类可以用自己的方式实现父类的方法。
构造器而言,它只能够被调用,而不能被继承,可以通过使用super()进行调用,
对于继承而已,子类会默认调用父类的构造器,但是如果没有默认的父类构造器,子类必须要显示的指定父类的构造器(通过super()),而且必须是在子类构造器中做的第一件事(第一行代码)。
对于protected而言,它指明就类用户而言,他是private,但是对于任何继承与此类的子类而言或者其他任何位于同一个包的类而言,他却是可以访问的Java 的继承是单继承,但是可以多重继承,
3、Java中如何使用?
语法:
[访问权限] class 子类名 extends 父类名{
类体定义;
}
比如Dog类和Animal类,Dog类就是子类,Animal类就是父类,其中子类也就是Dog类继承了父类也就是Animal类的非私有属性和方法,同时子类可以增加子类特有的属性和方法,并且子类可以重写父类的方法。使用继承首先可以减少大量的重复性代码,把公共的代码提取出来放到父类中同时也方便管理。
实例:
Animal父类:
public class Animal {
private Integer age;
public Animal(){
System.out.println("Animal construct method");
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {