多态概念
Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person
类,一个Student的对象便既是Student,又是Person。
多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性
a 向上转型:
父类对象引用,指向子类对象
多态向上转型,调用子类重写后的方法
Fu f = new Zi(); //父类对象引用,指向子类对象
向下转型:向下转型前提需要一个已经向上转型的父类对象。然后子类对象引用,指向父类对象
b 向下转型:
是为了调用子类特有的方法!
Fu f = new Zi(); //向上转型
Zi z = (Zi)f; //子类对象引用,指向父类对象,注意需要用子类类名强制转型一下
instanceof
格式:
引用变量名 instanceof 类名/接口名
运算结果为boolean类型 要么是true,要么是false
public class Person {
//饲养员员
void divide(Animal a){ //Animal类作为参数形参
/* Animal类下面有2个子类 Bird Cat*/
if(a instanceof Bird){ //把这个a对象当做Bird
//向下转型
Bird b = (Bird) a; //子类对象引用,指向父类对象
b.fly(); //调用子类特有方法
}else if(a instanceof Cat){ //把这个a对象当做Cat
Cat c = (Cat)a; //向下转型
c.catchMouse(); //调用子类特有方法
}
}
}
构造方法
构造方法的格式:
修饰符 构造方法名(参数列表){ //方法名和类名完成相同
}
构造方法的体现:
构造方法没有返回值类型。也不需要写返回值。因为它是为构建对象的,对象创建完,方法就
执行结束。
构造方法名称必须和类型保持一致。
构造方法没有具体的返回值。
构造方法用来创建对象(坑点)
创建有参构造方法需创无参的构造方法避免在其他类用的时候没有无参构造方法
在创建有参构造方法时本身默认无参方法被重写需在先无参方法进行重载
JAVA基础:多态概念、应用、构造方法
最新推荐文章于 2023-11-26 00:02:20 发布