JAVA第八天

多态

 

什么是多态:多种形态。

分两部分:

1、功能多态:一个行为多种实现方式 体现:重写和重载

2、形态多态:一个类型的多种表现形式比如:动物多种表现形式:猫、狗

Animal a=new Dog();//父类的引用指向子类的对象(即向上转型),反过来不行

多态的2种实现方式:

1.将父类的类型作为方法的形参 在调用方法时给他传递具体的子类对象

2.将父类作为方法的返回值类型来实现多态(计算器(工厂模式))

使用多态时一些 注意事项:

1、存在继承

2、方法重写

 

1、向上转型:父类引用指向子类对象

2、向下转型:父类引用显式类型转换为子类对象。

OOP优势:高度实现应用程序的可维护性、扩展性和安全性

Instanceof运算符

作用:用来判断对象的类型。

Cat c=(Cat)c1;

​ if(d1 instanceof Cat){

Cat c2=(Cat)d1;}

instanceof用来判断对象类型,返回值true表示类型一致,false表示类型不一致

接口

接口的概述

既是一种约定 又是一种能力 主要是用来实现功能扩展的 并且它是不关心结果

特点:

1、实现多态

2、解决了继承的单一继承的问题。

语法:

接口类:public interface 接口类名{}

子类:public class子类名 implents 接口名1,接口名2 {}

注意事项:

1、多组合,帮助程序功能与功能之间解耦,程序的扩展性好、维护性好

2、接口侧重能力,忽略实现细节

3、面向接口编程,一个接口可以同时继承多个接口

继承 单根性接口实现了多继承性

接口即是一种约定又是一种能力

判断是继承父类还是实现接口的口诀

当一个类需要继承多个父类的时候XX是XX 就用继承 XX具备XX的某种功能就用接口

如果一个类只有一个父类 优先使用接口()

抽象类里可以有抽象方法也可以有普通的方法抽象类里可以有静态变量

接口 里面的方法全是抽象方法 方法的修饰符默认都是public 里面的变量都是静态常量(不需要加修饰符)

一个类是定义成接口还是抽象类呢?

如果一个类中的方法全是抽象方法 变量都是静态常量 定义为接口

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值