java面向对象——多态

Java面向对象—多态 一、概念:父类引用指向不同的子类对象,从而产生的多种形态 例: class Animal { public void eat() { System.out.println("动物在吃"); } public void run() { System.out.println("动物在跑"); } public void sleep(){ System.out.println("动物在睡觉"); } public void swiming(){ System.out.println("动物在游泳"); } } class Dog extends Animal{ public void eat() { System.out.println("狗在啃骨头"); }

public void run() {
    System.out.println("狗在跑");
}
public void sleep(){
    System.out.println("狗在睡觉");
}
public void swiming(){
    System.out.println("狗在游泳");
}

} class cat extends Animal{ public void eat() { System.out.println("猫在吃鱼"); } public void run() { System.out.println("猫在跑"); } public void sleep() { System.out.println("猫在睡觉"); } } public class test{ public static void main(String[]args){ Animal a=new Dog(); Animal b=new cat(); a.eat(); b.eat(); } } 输出:狗在啃骨头 猫在吃鱼 二、特点:(1)子类对象类型始终不变。 (2)编译时只能调用父类引用类型中声明的方法。 (3)运行时,如果子类覆盖父类的方法,则执行子类覆盖的方法。 三、类型转换 (1)子类对象赋值给父类引用。 Animal a=new Dog(); (2)父类引用赋值给子类引用赋值(向下转型,前提是父类引用的对象是这个子类类型) Animal a=new Dog(); Dog d=(Dog)a; 四、instanceof关键字 作用:判断引用类型中存放的对象是否为指定类型。 语法:引用 instanceof 类名 (结果为Boolean类型) 例:if(a instanceof Dog){ System.out.println("a是Dog类型"); }else { System.out.println("a不是Dog类型"); } 输出:a是Dog类型 多态的作用:(1)屏蔽子类之间的差异。 (2)利于拓展降低程序之间的耦合。

转载于:https://my.oschina.net/u/3790675/blog/1922345

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值