多态
个人理解:
比如你是一个酒神,对酒情有独钟。某日回家发现桌上有几个杯子里面都装了白酒,从外面看我们是不可能知道这是些什么酒,只有喝了之后才能够猜出来是何种酒。你一喝,这是剑南春、再喝这是五粮液、再喝这是酒鬼酒….在这里我们可以描述成如下:
酒 a = 剑南春
酒 b = 五粮液
酒 c = 酒鬼酒
…
这里所表现的的就是多态。剑南春、五粮液、酒鬼酒都是酒的子类,我们只是通过酒这一个父类就能够引用不同的子类,这就是多态——我们只有在运行的时候才会知道引用变量所指向的具体实例对象。
总结:
1.多态是方法的多态,属性没有
2.父类和子类有联系 类型转换异常 classcastexception
3.多态存在的条件:A继承关系、B方法需要重写、C父类引用指向子类对象 Father f1 = new Son();
那些方法不能实现多态?
1.static方法属于类,它不属于实例
2.final
3.private
instanceof
是 Java 的保留关键字,它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean
的数据类型