1、java中的继承,是一种单一的继承,单方向的(每一个子类只能有一个父类)
在每一个子类的构造方法中,都有一句隐形的super(),他的意思是用来调用父类的构造方法。
2、方法的覆盖(方法的重写)。
指的是在子类中,实现了与父类同名同参数列表的方法。
方法覆盖也是OOP思想中的一个设计思想:
方法覆盖可以隐藏掉父类的过时的陈旧的一些方法,同时在子类中,更新这些方法。在调用的时候,子类的对象调用的方法则是自己的这个新的方法,而父类的方法将会被覆盖。
3、多态
生活中多态指的是一个对象的多种形态。
a、向上转型。
【注意:向上转型通常是一种不安全的做法,大家在使用的时候要慎重。】
向上转型之后,能调用的方法是子类中对父类进行了方法覆盖方法(但是是调用的子类的),以及父类中本身有的方法。
调不到的方法,是子类中没有覆盖过的父类的方法。
多态的意义:
多态在java中的含义:
用相同父类的引用,去指向具体的子类的实例,调用相同的方法,而得到不同的结果,这就是java中的多态。
多态的意义在于,让类中方法具有结构上的灵活性。
4、抽想类:
抽象类是一个要求其子类必须实现的一些业务规则的集合,
抽象类是具有抽象方法的类。
abstract
抽象方法是一个不具体的方面,他没有方法体。
【注意:一个类中如果有一个方法是抽象的,那么这个类也要声明为抽象】
如果一个子类,没有完全实现其父类的所有抽象方法,那么这个子类仍然是抽象的。
抽象类的意义:抽象是一种上层规范,要求子类必须实现。
抽象类的作用:塑造体系的。
抽象类注意:
(1)、抽象类因为是不具体的类,所以不能实例化。
(2)、抽象类中可以有不抽象的方法。
(3)、构造方法和静态的方法不能声明为abstract
5、接口
接口其实就是一种抽象类,因为接口也会抽象,而且他比抽象更抽象。