java 对类的复用
来源:互联网 发布:视频直播源码 编辑:程序博客网 时间:2024/05/22 13:54
java之所以能有如此广泛的应用除了java自身的平台无关性(移植性),还有java具有强大的类库和第三方开源框架等使得java开发变得简单,也就是对类的复用。而在java中一般使用组合、继承、和代理来完成类的复用。
1、组合:
在新类中创建复用类的对象,这种复用方式只复用了现有类的功能而非现有类的形式(继承即复用了现有类的形式)
复用了类的底层实现
2、继承:
复用现有类的形式可以在现有类的基础上添加新的特性(代码)继承也是面向对象设计的三大基石之一(封装、继承、多态)
复用了类的接口
继承的语法:如果创建一个类除非指明继承一个现有类,该类会默认继承Object类。使用extends 该类会得到基类的所有域和方法(但是private声明的会被屏蔽掉)。
初始化基类和导出类:总是基类最先被初始化然后才是导出类,也就是初始化关系是从内(基类)向外(导出类)扩散。
如果想要带参数初始化基类可以使用super关键字super(变量参数......)
3、代理:
代理作为组合和继承的中间点,将复用类的对象赋予新类的构造类中。
4、在继承和组合中间选择
组合:
优点
(1)首先考虑使用组合,组合只复用了现有类的形式所以更加灵活,具有更好的扩展性。
(2)新类和现有类彼此相互独立,不会破坏新类的封装性
(3)支持动态组合,运行时选择不同类型的局部对象
缺点
(1)不能像基础一样直接获取现有类的接口
(2)创建新类对象必须创建现有类的对象
继承:
优点
(1)自动获取现有类的所有方法和属性
(2)创建子类对象时不需创建基类对象(基类对象自动创建包含于子类中)
缺点
(1)子类和父类耦合过紧,子类依赖于父类实现,父类改变子类受其影响大。子类缺乏独立性
(2)支持扩展但是会加大设计的复杂性
(3)无法动态继承
下图来自于网络资料
- java 对类的复用
- Java对类的封装
- 对java类的理解
- 用java实现对数组的排列组合
- 用java实现对文件夹的拷贝
- 用Java实现对文件夹的操作
- 用java实现对文件的读取
- 用java代码对ACID的实现
- 对Java嵌套类的讨论
- 对txt读写改的java类
- 对java中类装载的理解
- 对java.lang.Class类的理解
- 对文件操作的Java类
- Java 正则表达式-对类的小结
- 对java类集的理解
- Java System 类对ID 的支持
- Java对XML的读写操作类
- 【java工具类】对velocity的封装
- 153.leetcode Find Minimum in Rotated Sorted Array(medium)[有序数组 二分查找]
- HDU 1438 钥匙计数之一 递推+组合 简洁的做法
- 大数运算-(加、减、乘)
- Android Studio 快捷键简介
- C++各种转化集结号
- java 对类的复用
- curl 出现一些意料外的状态
- 不能在本机启动SQL Server服务错误代码126
- Observer Pattern
- hdu4722数位DP
- js迭代和java的区别
- retrofit2.0 趟过的坑
- 微信公众号、APP微信支付
- POSIX线程,线程的客户/服务通信(pthread_join,pthread_exit,pthread_detach,pthread_self)