Java有容器和对象之分1. 容器就是变量,它用来指向某个对象(地址)
1.1 容器其实是用来限定对象行为的,程序运行的时候只能调用容器里的方法(包含从超类继承过来的方法)
- 对象就是用构造器new出来的
关键
- 对象可以存储在本类型容器或者超类容器
- 虚拟机会维护每个对象的类型,就是该对象是用什么构造器new出来的,它就是那个构造器的类型
2.1 可以通过getClass()方法获取它的类对象
强制转换
- 规则
1.1 两个没有继承关系的容器和对象是不允许强制转换的,也就是没有兼容关系
1.2 一个对象是不允许放到它的子类型容器里的,反过来是可行的
1.3 强制转换就发生在把对象从一个容器切换到另一个容器的过程中
1.4 当一个子类型对象放入超类容器,这个子类型对象是可以通过强制转换放入自身类型的容器 - 诀窍
2.1 使用instanceof方法确保代码的安全性