面向对象编程有三个特征,即封装、继承和多态。

  封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。

  继承是为了重用父类代码,同时为实现多态性作准备。

多态性

  多态:

    1. 使用父类类型的引用指向子类的对象;

    2. 该引用只能调用父类中定义的方法和变量;

    3. 如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)

    4. 变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。

 

附:

Animal a = new Cat();

实例化一个Cat对象,并声明了一个Animal的引用,让它指向Cat这个对象,简而言之:把Cat这个对象当Animal看。