Java面向对象编程4

一.类型转换

向上转型————子类转化为父类,自动进行类型转换。

上转型对象不能操作子类新增的成员变量和方法。

上转型对象可以操作子类继承或重写方法的成员变量和方法。

如果子类重写了父类的某个方法,上转型对象调用该方法时,是调用的重写方法。

Pet pet = new Dog();    //自动类型转换   

向下转型————父类转换为子类,结合instanceof运算符进行强制类型转化。

instanceof 运算符:instanceof通常和强制类型转换结合使用。

二.如何实现多态

1.实现多态的两种方式

使用父类作为方法形参实现多态。

使用父类作为返回发返回值实现多态。

2.使用多态实现思路

编写父类,

编写子类,子类重写父类方法,

运行时,使用父类的类型。

3.使用父类作为方法返回值实现多态

使用父类作为方法返回值

实现思路:

在Master类中添加领养方法getPet(String typeld)

创建测试类,根据主人选择宠物类型编号来领养宠物

public class Master{     //主人类
    public Pet getPet(String typeld){     //使用父类作为返回值类型
    ... ...
    }
}

三.使用多态的好处

多态可以减少类中代码量,可以提高代码的可扩展性和可维护性。

四.引用变量的两种类型

1.编译时类型(一般是一个父类)

由声明时的类型决定。

2.运行时类型(运行时,具体是哪个子类据是哪个子类)

由实际对应的对象类型决定。

五.多态的存在主要有3个必要条件

要有继承,要有方法重写,父类引用指向子类对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值