zoukankan      html  css  js  c++  java
  • 一、多态

    引言:

    操作符的多态,比如+,可以作为算数运算,也可以连接字符串(类似于C++里的重载的思想)

    类的多态:父类引用指向子类对象

    一、操作符的多态:

      同一个操作符在不同情境下,具备不同的作用,如果+号两侧都是整型,那么+代表数字相加

      如果+号两侧,任意一个是字符串,那么+代表连接字符串

    package character;
    public class Hero{
        public String name;
        protected float hp;
        
        public static void main(String[] args)
        {
            int i=5;
            int j=6;
            int k=i+j;////如果+号两侧都是整型,那么+代表 数字相加
            System.out.println(k);//11
            
            int a=5;
            String b="6";
            String c=a+b;//如果+号两侧,任意一个是字符串,那么+代表字符串连接
            System.out.println(c);//56
        }
    }
    View Code

    二、类的多态现象

    首先写一个父类

    //父类
    package property;
    public class Item{
        String name;
        int price;
        
        public void buy(){
            System.out.println("购买");
        }
        public void effect(){
            System.out.println("物品使用后,可以有效果");
        }
    }
    View Code

    编写两个子类,分别继承父类。

    子类一:LifePoint

    //子类
    package property;
    public class LifePoint extend Item{
        public void effect(){
            System.out.println("血瓶使用后,可以回血");
        }
    }
    View Code

    子类二:MagicPoint

    //子类
    package property;
    public class MagicPoint extend Item{
        public void effect(){
            System.out.println("蓝瓶使用后,可以回蓝");
        }
    }
    View Code

    再写一个测试类进行测试

    //测试类
    package property;
    public class Test{
        public static void main(String[] args){
            Item i1=new LifePoint();
            Item i2=new MagicPoint();
            System.out.println("i1是Item类型,执行effect打印:");
            i1.effect();
            System.out.println("i2是Item类型,执行effect打印:");
            i2.effect();
        }
    }
    View Code

    输出了不同的结果,由此看来:多态都是同一个类型,调用同一个方法,却呈现了不同的状态

  • 相关阅读:
    图解HTTP学习笔记——简单的HTTP协议
    Java编程思想学习笔记——类型信息
    Java编程思想学习笔记——字符串
    Java编程思想学习笔记——接口
    Java编程思想学习笔记——复用类
    Java编程思想学习笔记——类的访问权限
    ESLint
    关于常见继承的几种方法
    flux,redux,vuex状态集管理工具之间的区别
    商品放大镜效果
  • 原文地址:https://www.cnblogs.com/drq1/p/8465874.html
Copyright © 2011-2022 走看看