面向对象三大特征:封装、继承、多态
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
关键字:private
继承:可以使子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。
关键字:extends
多态:同一对象,在不同时刻表现出来的不同形态。
代码示例:
Cat cat = new Cat();
Animal animal = new Cat();
多态的前提和体现:
- 有继承/实现关系
- 有方法重写
- 有父类引用指向子类对象
多态中成员访问特点:
- 成员变量:编译看左边,执行看左边。
- 成员方法:编译看左边,执行看右边。
多态中的转型:
-
向上转型(自动)
由子到父 父类引用指向子类对象 Animal A = new Cat();
向上转型时,父类只能调用父类方法或者子类覆写后的方法,而子类中的单独方法则是无法调用的。
-
向下转型(强制)
由父到子 父类引用转为子类对象
在java中,向下转型则是为了,通过父类强制转换为子类,从而来调用子类独有的方法