我是靠谱客的博主 潇洒过客,这篇文章主要介绍java小知识之多态,现在分享给大家,希望可以做个参考。

向上转型(子类转化为父类)为本身,向下转型(父类转化为子类)为小的;

instanceof  : 它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。

例子:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package lianxi; public class OverRide { public static void main(String[] args) { show(new Cat()); //静态方法直接调用 show(new Dog()); Animal a = new Cat(); //向上转型 a.eat(); //调用的是本身的方法 Cat c = (Cat) a;//向下转型 c.work(); // 调用的是子类的方法 } public static void show(Animal a ) { a.eat(); if(a instanceof Cat) { Cat c = (Cat) a; //向下转型是本身 c.work(); } else if(a instanceof Dog) { Dog c = (Dog) a; //向下转型 c.work(); } } } abstract class Animal{ abstract void eat(); } class Cat extends Animal{ //方法的重写 public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } } class Dog extends Animal{ //方法的重写 public void eat() { System.out.println("吃骨头"); } public void work() { System.out.println("看门"); } }



最后

以上就是潇洒过客最近收集整理的关于java小知识之多态的全部内容,更多相关java小知识之多态内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部