首页 > 编程语言 > 详细

java多态小笔记

时间:2019-12-10 09:50:01      阅读:70      评论:0      收藏:0      [点我收藏+]

含义:多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。

需要条件:继承、重写和向上转型

  1. 继承:在多态中必须存在有继承关系的子类和父类。
  2. 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
  3. 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法,又能调用子类的方法。

使用:父类引用指向子类对象

举例:

创建父类对象b

技术分享图片
//父类b
class Testb{
    void eat() {
        System.out.println("吃了吗?");
    }
}
父类b

创建子类c并重写父类eat方法

技术分享图片
//子类c
class Testc extends Testb{
    void eat() {
        System.out.println("吃了");
    }
}
子类c

创建子类d并重写父类eat方法

技术分享图片
//子类d
class Testd extends Testb {
    void eat() {
        System.out.println("没吃");
    }
}
子类d

创建Test测试程序

技术分享图片
public class Test {
    public static void main(String[] args) {
        //父类引用指向子类对象
        Testb b=new Testc();
        func(b);
    }
    //多态(判断子类是哪个就调用哪个方法)
    static void func(Testb b) {
        if(b instanceof Testc) {
            Testc c=(Testc)b;
            c.eat();
        }else if(b instanceof Testd) {
            Testd d=(Testd)b;
            d.eat();
        }
    } 
    
}
测试

 

 

 

 

java多态小笔记

原文:https://www.cnblogs.com/2393920029-qq/p/12014729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!