面向对象(2)
来源:互联网 发布:稻草人 男包 知乎 编辑:程序博客网 时间:2024/05/19 10:54
1、接口 :特殊的抽象类. 接口中的成员都是public
格式特点:接口中常见定义:常量,抽象方法
接口中的成员都有固定修饰符。常量:publicstatic final
方法:public abstract
接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化,否则子类是一个抽象类。
接口可以被多实现,也是对多继承不支持的转换形式。java支持多实现。
类与类之间是继承关系,类与接口之间是实现关系,接口与接口之间是继承关系,java只有接口之间存在多继承
接口特点:接口是对外暴露的规则;接口是程序的功能扩展;接口可以用来多实现;类与接口是实现关系,而且类可以继承一个类的同时实现多个接口;接口与接口之间可以有继承关系。
2、多态:事物存在的多种体现形态。父类引用指向子类对象
- 多态的体现:父类的引用指向了自己的子类对象,父类的引用也可以接收自己的子类对象
- 多态的前提:必须是类与类之间有关系,继承或实现,且必须存在覆盖
- 多态的好处:提高程序的扩展性
- 多态的弊端:提高了了扩展性,但只能使用父类的引用访问父类中的成员。
- 多态的应用:
- 多态成员函数(非静态)的特点:在编译期:参阅引用型变量所属的类中是否有调用的方法,如果有编译通过,如果没有编译失败;在运行期:参阅对象所属的类中是否 有调用的方法。成员函数在多态调用时,编译看左边,运行看右边。
- 多态成员变量的特点:多态情况下无论编译和运行,都参考左边(引用型变量所属的类)
- 多态中,静态成员函数的特点:无论编译和运行都参考左边
父类的引用指向了自己的子类对象时,该引用可以被提升,也可以被强转
多态自始至终都是子类对象在做着变化
Animal a = new Cat()//类型提示,向上转型
Cat c =(Cat) a; //强制将父类的引用,转成子类类型,向下转型
/* Animal a = new Animal();
Cat c = (Cat)a; */ 不可将父类对象转成子类类型。
- 面向对象(2)
- 面向对象(2)
- 面向对象(2)
- 面向对象(2)
- 面向对象(2)
- 面向对象(2)
- 面向对象-(2)
- java--面向对象(2)
- 什么是面向对象(2)
- JavaScript面向对象(2)
- 面向对象(上)-2
- 面向对象学习(2)
- 面向对象入门(2)
- php-面向对象(2)
- 面向对象编程(2)
- java面向对象(2)
- JavaScript面向对象(2)
- Javaoop面向对象(2)
- CentOS 6.0 系统 LAMP(Apache+MySQL+PHP)安装步骤
- 搜索算法之总结
- [android]在图标上加提醒的数字
- mfc消息处理和消息映射的概念
- 增量式的创建触发器 增删改
- 面向对象(2)
- 一种直观表达系统状态和网络流量传导的图表
- 64位linux下oracle安装卡进度条
- Qt连接数据库
- No17、题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
- [android]消息的小图标提醒
- Hadoop 执行jps后没有namenode和datanode
- NSNotification学习笔记
- adb shell 命令详解