父类的变量指向子类的对象;一个接口类型变量引用实现类的对象。例如:Aimal dog = new Dog();
多态的好处:这样我们可以进行更好的扩展、我们可以使用父类中的任何一个类,就像dog变量我们可以使用Aimal中的任何一个子类的方法和属性
多态的两种表现方式:
.重载:重载是发生在一个类中的,方法名相同,但是方法的参数、方法的个数、以 及方法的顺序是可以不相同的
.重写:
.重写是发生在不同类中的
.方法的名称、方法的参数列表、方法的返回类型相同都要相同
.子类的修饰符要大于父类的修饰符
.方法抛出的异常不一样,子类抛出的异常要不父类抛出的异常小
.子类在调用方法时则优先考虑子类中的方法
如果一个类去继承或者去实现一个没有任何属性的类,这样做有没有意义?
答:还是有意义的,比如我们在传参的时候可以指定我们只能够传这一个类型的的参数,可以是这个类的子类,这样可以过滤掉其他的不必要的参数
instanceof方法:
.该方法用来判断当前的对象是否匹配我们所指定的对象 |
|