Java基础-继承和多态
继承
重写是基于继承实现的,当子类继承了父类以后,子类即可重写父类的方法
可以看到,当B类继承了A类后,B类写了一个与A类相同的方法。这就是重写,也就是子类重写编写一个与父类相同的方法,但方法中的执行语句不同
当我们把B类重写的代码注释掉以后,实例化B类调用Test()方法,可以看到,测试程序执行的是A类的方法,因为B类继承了A类,即B类可以使用A类所有的非私有制的属性和方法,这就是继承。
当我们重写A类的代码以后再次实例化B类,可以发现,此时程序执行的是B类的方法。
- 通过上面的代码我们可以发现,当B类继承了A类以后,我们可以在B类上对A类的代码进行重写,这种方式我们可以理解为B类代码对A类代码进行扩展
多态
多态是基于继承实现的,抽象的理解就是一种行为的多种形态
public class Application {
public static void main(String[] args) {
A a = new B();
a.Tset();
B b = new B();
b.Tset();
}
}
看上面的代码,我们可以声明A类去实例化B类,然后可以调用Test方法,也可以声明B类去实例化B类再调用Test方法。虽然实现的方式不同,但他们执行的代码是相同的
可以发现,两种不同的实例化的方式但是他们最终执行的方法是一样的,这就是多态,是同一个行为具有多个不同表现形式或形态的能力
- 这是本人于学习之中一点小小理解,若小伙伴发现上述内容有错误之处,欢迎指正。