多态
1、object
一个java所有类中的父类:当一个类没有继承其他父类时,默认继承Object类。所以java中所有的类都直接的或间接的继承了object类。
2、toString()
toString方法是Object中可以打印对象地址的方法(十六进制表示的一个地址),因为所有类都继承了Object所以我们可以重写 toString方法用来指定打印对象属性的值。
3、equals()
一般equals用于比较字符串内容是否相等,java中已经帮你重写了比较String类型数据的方法,如果用来比较对象的话没有重写之前比较的是你对象的地址。如果要比较对象中的属性需要重写equals方法。
4、instanceof
可以判断对象是否为某个类的对象(或者是子类的对象)
对象名 instanceof 类名
多态的定义:多态可以理解成一种事物的多种形态
多态的条件:必须继承实现,父类应用类型指向子类
父类 变量=new 子类();
这样定义后,子类能重写父类方法,但是无法调用子类新增的方法。如果调用方法是,子类有重写该方法那么有限调用子类中的方法如果没有调用父类方法。使用成员变量时只能使用父类中有的变量。
那么如果子类要用自己新增加方法可以 向下转型 引用数据类型之间的转型和数据类型转型相似
一、向上转型(子类转父类)自动转换
二、向下转型(父类转子类) 子类 a1=(子类)a;
向下转型需要注意的是转到正确的子类,可以用instanceof 判断,防止报错
多态的作用:
可以提高代码的复用性,使代码更加灵活,开发简单。