面向对象编程有三个特征,即封装、继承和多态。
封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。
继承是为了重用父类代码,同时为实现多态性作准备。
多态性
多态:
1. 使用父类类型的引用指向子类的对象;
2. 该引用只能调用父类中定义的方法和变量;
3. 如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
4. 变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
附:
Animal a = new Cat();
实例化一个Cat对象,并声明了一个Animal的引用,让它指向Cat这个对象,简而言之:把Cat这个对象当Animal看。