zoukankan      html  css  js  c++  java
  • java多态小笔记

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

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

    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();
            }
        } 
        
    }
    测试
  • 相关阅读:
    学习pyyaml
    使用fabric2打包部署文件
    python之OS模块
    zabbix3.4.2安装
    格式化python代码
    ansible常用模块介绍
    TCP/IP 协议
    Python爬虫:使用正则表达式爬取网站电影信息
    解决python3爬取网页(GB2312编码)中文乱码问题
    我的第一个python爬虫:爬取豆瓣top250前100部电影
  • 原文地址:https://www.cnblogs.com/2393920029-qq/p/12014729.html
Copyright © 2011-2022 走看看