多态+抽象类+接口 知识点总结

java中的多态
当父类为father,子类为son
father f=new son();
用f调用成员变量,编译看父类,运行看父类
用f调用成员方法,编译看父类,运行看子类,子类没有再看父类
用f调用静态方法,编译看父类,运行看父类,相当于用类名调用




运行优先级:父类static > 子类static > 父类构造代码块  > 父类构造方法  > 子类构造代码块  > 子类构造方法 



eclipse运行按钮旁边下三角可以更改要运行的类


当父类为father,子类为son
father f=new son();相当于向上转型,把子类强制转为父类
son s=(father)f;相当于向下转型,把父类强制转为子类




多态主要用于参数传递,扩展性好,如:传递父类对象,根据需要转换为想要的子类对象
关键字instanceof:判断父类的引用是什么子类类型,如:f instanceof s




抽象类:abstract class 类名
抽象方法:public abstract void function();
abstract不能用来修饰成员变量
抽象类不能实例化,不过可以利用多态指向子类来实例化
抽象类不一定要有抽象方法,有抽象方法的类一定是抽象类或接口
抽象类的子类
要么也是抽象类
要么重写抽象类的所有抽象方法




abstract不能和static、final、private共用




接口定义:interface 接口名{}
接口里的方法一定要放抽象方法
子类实现接口的方法:class 类名 inplements 接口名{}
接口中的方法如果不写abstract,系统会自动添加隐藏默认的abstract
接口中的变量,系统会自动添加隐藏默认的public、static、final





接口与类之间支持多实现
接口与接口之间支持多继承
类与类之间只支持多层继承,不支持多继承



接口:共性功能
抽象:扩展功能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值