多态的前提和体现
有继承/实现关系有方法重写有父类对象指向子类对象
多态中成员访问特点
介绍
举例:猫
可以猫是猫Catcat=newCat();可以猫是动物Animalanimal=newCat();这里猫不同时刻体现出来的不同状态就是多态.
构造方法同继承一样,子类会通过super访问父类构造方法.成员变量看等号左边是谁,先调用谁的成员变量,子类没有没找父类.成员方法看new的是谁,先调用谁的成员方法,子类没有,找父类
可定义的内容抽象方法(JDK7及以前就有)格式:publicabstract返回值类型方法名(形式参数列表···);在接口中,可以省略publicabstract在实现类中必须重写覆盖所有抽样方法默认方法(JDK8及以后新加)格式:publicdefault返回值类型方法名(形参列表){方法体}只能使用实现类对象调用默认方法.在实现类中,不请求重写接口中的默认方法.如果在实现类中重写,必须去掉default关键字.静态方法(JDK8及以后新加)格式:publicstatic返回值类型方法名(形参列表){方法体}只能使用接口名.静态方法名调用.属于接口本身,与实现类无关,不存在重写覆盖.常量(JDK7及以前就有)格式:publicstaticfinal数据类型数据名=数据值接口中不能定义变量只能定义常量.(值不可变,被final修饰)可以不写publicstaticfinal,默认系统会写.接口中常量的使用:接口名称.常量名称.建议接口中的常量名称全部大写IDEA快捷键:Ctrl+Shift+U定义格式publicinterface接口名{}使用格式不能直接创建接口对象实现类格式:publicclass类名implement接口名A,接口名B···{}
接口可以多继承子接口会拥有父接口中的所有抽象方法.publicinterface接口名Aextends接口名B,接口名C···{}一个实现类可以实现一个或者多个接口.publicclass实现类名implements接口名A,接口名B,….{}一个实现类可以继承一个父类的同时实现多个接口.publicclass类名extends父类名implements接口名A,接口名B,….{}
好处:提高了代码的扩展性坏处:不能直接调用子类的特有功能
同一行为,通过不同的事物,可以提现出不同的形态.多态,描述的就是这种状态.
对外暴露的一套规则/规范/标准.实现对事物功能的扩展.
多态
接口关键字interface实现类关键字implement接口不能new对象抽象关键字abstract使用通过实现类去实现
特点
定义
好处和弊端
向上转型默认自动转型向下转型从父到子例:Dogdog=(Doanimal;转型风险对应的实际类型与目标类型不是一个类型,例:猫转狗.避免强转出现的问题关键字:instanceof格式:变量名instanceof类型通俗理解:判断关键字左边的变量,是否是右边的类型,返回Boolean类型结果.
总结
文章为作者独立观点,不代表股票交易接口观点