JAVA OOP多态/接口

一、多态

1.理解:多种形态、多种形式、多种效果
2.作用:提高代码的灵活性、扩展性
3.实现的方式:多态一般都建立在继承的基础之上进行实现
a.使用父类类型作为方法的形参
b.使用父类类型作为方法的返回值
c.方法重载
d.方法重写

二、向上转型

向上转型:将子类对象包装成父类类型的过程
语法:子类 对象名=new 子类():

Father zx=new Son();

三、向下转型

将父类对象转换成子类类型的过程
语法:子类 对象名=(子类)父类对象名;

Son zx=(Son)father;

四、instanceof

检测对象的真实类型 true/false
在这里插入图片描述

五、关于父子类调用方法问题跟总结

1.常规类调用方法的问题总结
Father fu=new Father();
fu.methodA()
2、通过向上转型的创建出来的对象调用某个方法
a.如果这个方法在子类当中重写,那么就以子类为准
b.如果这个方法在子类当中没有重写,则执行父类当中的实现代码
ps:向上转型创建的对象无权调用子类特有方法(编译错误)
3.通过向下转型创建的对象可以调用子类和父类当中的所有方法


一、接口

1.作用:代表一种能力,主要是解决java中单继承的局限性
2.接口:可以认为是一种特别的抽象类
3.特性:
a.借口不可以实例化对象,但是可以进行向上转型/向下转型
b.接口当中所有的属性都是静态常量,在定义的时候必须赋值
c.接口中所有的方法都是抽象方法,可以不加abstract
d.接口当中属性和方法的权限只有public
e.类实现接口以后,必须强制重写接口当中所有的抽象方法,除非这个类是抽象类
f.继承要求是单继承,接口可以多实现
g,接口之间可以继承并且是多继承
4.关键字:interface:接口的声明 implements:实现接口的关键字
在这里插入图片描述

二、总结抽象类和接口的异同之处

1.相同处:
a.都不可以实例化对象
b.可以包含抽象方法
c.必须强制重写接口所有的抽象方法,除非这个类是抽象类
2.不同处
b.接口当中所有的属性只能定义成静态常量,抽象类当中的属性是最普通的属性
b.接口只能有public一种权限,抽象类中有四种权限
c.接口中的抽象方法不用abstract修饰
d.抽象类可以包含普通方法和抽象方法,但是接口只能包含抽象方法
e.接口不可以定义构造函数,但是抽象类可以
f.接口可以进行多继承,多实现,抽象类只能单继承
g.定义的关键字和实现的关键字不同
接口(interface–>implements)
抽象类(abstract class–>extends)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值