封装
属性私有,提供set/get方法.,提高了程序安全性,并同时为用户指定入口, 便于控制。
继承
类之间形成 一般-特殊 关系 父类(超类) --- 子类(派生类)
子类的共性 放在父类
单继承 每个类只能有一个直接父类 类之间形成简单的树状结构
多态 子类的对象可以赋值给父类的引用
1. 对象类型不变
2. 只能对引用,调用其引用类型中定义的方法
3. 运行时,根据对象类型,运行子类覆盖之后的方法
屏蔽不同子类的差异,灵活.弱耦合性
多态用在方法的参数上: m(A a):m方法接受A类或A的任何子类对象为参数
多态用在方法的返回值上: A m():m方法可能返回A类对象,或A类某个子类对象
子类引用赋值给父类引用,可以直接赋值
父类引用赋值给子类引用,需要强转.运行时可能发生类型转换异常
引用 instanceof 类名 布尔表达式 判断引用中的对象和类型是否兼容
"引用中的对象 是不是 类名"
在类型转换之前,用 instanceof 判断类型兼容,从而避免类型转换异常 |
|