java向下造型的理解_向上造型与向下造型

一. 向上造型

父类引用 变量 = New 子类对象;

必须有继承关系

子类对父类方法进行重写

通过父类类型的引用变量调用子类重写之后的方法

向上造型的对象可以调用哪些方法看父类,具体的方法执行看子类(父类--目录 子类:正文)

【案例】

public class Main {

public static void main(String[] args) {

/*

Pet pet:养一个宠物

pet=new Dog():具体养只狗

声明的类型是父类型,实际创建的是子类型,即:向上造型

*/

Pet pet =new Dog();

//向上造型的对象可以调用哪些方法看父类

//方法真正执行看子类是否重写方法

pet.eat();

m(new Pet());

m(new Dog());

}

public static void m(Pet p){

p.eat();

}

}

//宠物类

class Pet{

public void eat(){

System.out.println("在吃东西...");

}

public void sleep(){

System.out.println("在睡觉...");

}

}

//狗狗类

class Dog extends Pet{

public void eat(){

System.out.println("在哼哧哼哧地吃...");

}

public void bsrk(){

System.out.println("在汪汪的叫...");

}

}

//猫咪类

class Cat extends Pet{

public void eat(){

System.out.println("在优雅的吃...");

}

public void 磨爪子(){

System.out.println("在呼呼的磨爪子...");

}

}

二. 向下造型

子类引用 变量 = New 父类对象;

【注意】

需要强转

强转前用instanceof判断

【instanceof】

是Java中的关键字,是一个双目运算符,也是比较运算符中的一种,运算结果必然是boolean。

格式:Boolean res=对象名 instanceof 类名或者接口名;

作用:判断对象名是否是右边的类的类型或者接口的类型

注意:

左边只能是引用数据类型,不能是基本数据类型。

右边只能是类名或者接口名。如果是类名,当左边是当前类的对象或子类的对象,结果为true。

【使用到的地方】

在Spring中,通过context.getBean()传入id来获取Bean,返回的对象是Object,需要向下强转

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值