继承
继承是面向对象编程中的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以重用父类的代码,从而提高代码的复用性和模块化。在Java中,继承通过extends关键字实现,Java只支持单继承,即一个类只能直接继承一个父类,但可以通过实现多个接口来达到类似多重继承的效果
多态
多态是面向对象编程的另一个核心概念,它允许我们以统一的接口来处理不同类型的对象。多态的主要实现方式包括继承和接口。在Java中,多态通常通过继承和方法覆盖来实现。多态分为两种类型:编译时多态(静态多态)和运行时多态(动态多态)。
编译时多态:通过方法重载实现。方法重载是指在同一个类中定义多个同名但参数不同的方法。
运行时多态:通过方法覆盖实现。方法覆盖是指子类重新定义父类中已有的方法,当使用父类引用指向子类对象时,调用的方法是子类中覆盖的方法。
多态的三个必要条件
有继承关系:子类继承父类。
方法重写:子类重写父类的方法。
父类的声明指向子类的引用:使用父类类型的引用变量指向子类对象。
成员变量和静态方法的绑定
成员变量:编译时绑定,即成员变量的访问是根据引用变量的类型来决定的。
静态方法:编译时绑定,即静态方法的调用是根据引用变量的类型来决定的。
实例方法:运行时绑定,即实例方法的调用是根据实际对象的类型来决定的。