面向多象之多态\抽象\接口

面向对象_多态

多态的概念:事物在不同环境下表现出来的不同形态
前提:1.要有继承或者实现关系
2.要有方法的重写
3.要有父类的引用指向子类的对象
多态的两个具体的知识点:
1.子父类中同名变量调用时,是如何运行的
2.子父类中重写方法调用时,是如何运行的
注意事项:在多态关系中:对象在调用同名变量是,编译的时候看父类是有有该变量,如果有,就不报错,如果没有,就报错,运行的也是父类中的变量
对象在调用重写方法是,编译的时候看父类是否有该变量如果有不报错,如果没有就报错,运行的是子类的方法

普通的继承和多态之间的关系

继承:子类有就用子类的,子类没有用父类的,父类也没有就报错
多态:
引用永远指向子类内存区中父类的那一小片内存 永远优先寻找父类中的成员;运行同名变量时,编译看父类 运行看父类
运行重写方法是,编译也是看父类,运行时因为重写的机制导致运行子类中的重写方法

抽象类:

怎么定义抽象类: 需要一个关键字:abstract
当我们吧一个方法定义成为抽象类以后,我们必须要将类定义成抽象类

抽象类的注意事项:

1.有抽象方法的类一定是抽象类,但是 抽象类中不一定有抽象方法
2.抽象类中是否有构造方法??有
3.有构造方法能不能创建对象?答案是不能 主要是给子类对象初始化用的
4.抽象类中的抽象方法 子类必须要重写吗?要重写,而且是有几个重写几个
5.abstract和final 能否共存??不能因为final修饰的类不能被继承,修饰的方法不能被重写,但是abstract 修饰的类需要继承,修饰的方法需要重写
6.既然抽象类不能创建对象,那我就想用抽象类的对象怎么办?
可以使用抽象类多态的形式定义对象,然后调用变量或者方法

接口

定义:功能的扩展 原先不具备的功能 经过后天的学习 学会的 定义为接口
如何定义一个接口:
interface 近似于class
interface 接口名{
方法;
}
注意事项:
1.接口名所有的方法都是抽象方法,即使你没写abstract 系统也会默认的给你加上abstract
2.接口是没有构造方法的,不能创建对象:可以使用接口多态的形式 进行接口调用接口中的值
3.接口可以有变量但是所有的变量都是常量 前面默认加上了static和final
4.接口怎么使用/???实现:implements
class 类名 implements接口名{
}
5.实现接口以后 需要实现接口所有的抽象方法 要么类本身是一个抽象 类
6.类和接口之间是一个多实现的关系
7.接口和接口之间是继承关系

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值