多态是指·同一方法的调用,由于对象不同可能会有不同的行为。现实生活中,同一方法,具体实现都完全不同。
多态分为编译时多态和运行是多态。重载和重写 父类引用指向子类对象
运行时多态:
继承 方法重写 父类引用指向子类对象
然后用该父类调用子类重写的方法就实现了运行时多态。
对象转型:
父类引用指向子类对象,这个是向上转型,属于自动类型转换。
编译和运行时两码事,,编译通得过不一定代表运行可以,运行可以不一定代表编译通的过。JVM也是个程序,不会那么聪明,,的需要自己判断进行处理。例如面对强制向下转型,就是不得已的处理。不然编译器不认可。、
例如: 重点哈,,注意看
向上转型后的父类引用变量只能调用它的编译类型的方法,不能调用它运行时类型的方法。这时候,我们就需要对这对象进行类型的强制转换,称之为向下转型。
cast转型异常
instanceof :
这个 就是这个格式 对象名 instanceof 类
详情见类和对象那一页。