多态的向上转型
多态的实例,不能调用子类的特有成员,因为在编译阶段,能调用哪些成员,是由编译类型决定的
但是实际运行效果,要看子类的具体实现,要从子类开始查找
多态的向下转型
把指向子类对象的父类引用,重新转为子类引用
注意事项
属性没有重写之说,属性的值看编译类型
instanceOf 用于判断对象的运行类型是否为XX类型,或其子类
动态绑定机制
- 当调用对象方法时,该方法会和该对象的内存地址/运行类型绑定
- 当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用
多态数组
数组的定义类型为父类类型,里面保存的实际元素类型为子类类型
多态参数
方法定义的形参类型为父类类型,实参类型允许为子类类型
Object类详解
equals方法
Object类中equals是用来比较,两个对象地址是否相等;但是Integer和String类重写equals方法,比较内容是否相同
hashCode
该方法返回对象的hash码值
toString
返回该对象的字符串表示。默认返回:全类名+@+哈希值的十六进制;子类往往会重写toString,用于返回对象的属性信息
finalize:被弃用了
断点调试
项目——房屋出租系统(暂时不看)
需求
实现基于文本界面的房屋出租系统
能够实现对房屋信息的添加、修改和删除,并打印房屋明细表
界面
面向对象编程(高级)
类变量和类方法(或者称为静态变量、静态方法)
类变量
类方法
类方法只能访问类变量
main方法
代码块
代码块的调用顺序优先于构造器