随笔分类 -  Java进阶-面向对象

摘要:流的应用 阻塞/非阻塞 read()函数是阻塞的,在读到所需的内容之前会停下来等 使用read()的更“高级”的函数,如nextInt()、readLine()都是这样的 所以常用单独的线程来做socket读的等待,或使用nio的channel选择机制 对于socket,可以设置SO时间 setSo 阅读全文 »
posted @ 2022-06-23 20:47 肥宅快乐水~ 阅读(23) 评论(0) 推荐(0) 编辑
摘要:汉字编码 utf-8 utf-8是一种变形的utf,因为utf的编码是两个字节表达一个字符,但是因为在英文的文档里,大家都是20个字符,那么原本用一个字节就可以表达的,所以utf-8就是,如果你是英文字符:ABCD的,数字字符:1234的,就用一个字节表达,这样的一种编码形式就叫做utf-8 汉字编 阅读全文 »
posted @ 2022-06-23 20:07 肥宅快乐水~ 阅读(94) 评论(0) 推荐(0) 编辑
摘要:流过滤器 以一个介质对象为基础层层构建过滤器流,最终形成的流对象能在数据的输入输出过程中,逐层使用过滤器流的方法来读写数据 Data DataInputStream DataOutputStream 用以读写二进制方式表达的基本数据类型的数据 文本流 Reader/Writer 二进制数据采用Inp 阅读全文 »
posted @ 2022-06-23 19:36 肥宅快乐水~ 阅读(22) 评论(0) 推荐(0) 编辑
摘要:流 流是输入输出的方式 流在英文单词当中叫做:stream 流是一维单向的 流的基础类 InputStream:字节输入流 字节输入流可以做的事情 输入了123三个字符,回车输出的时候,回车也算字符,所有读到了四个字符 OutputStream:字节输出流 字节输出流可以做的事情: 文件流 如果我们 阅读全文 »
posted @ 2022-06-23 15:07 肥宅快乐水~ 阅读(5) 评论(0) 推荐(0) 编辑
摘要:异常捕捉时的匹配 catch怎么匹配异常的 Is-A的关系 就是说,抛出子类异常会被捕捉父类异常catch给捉到 捕捉任何异常 运行时刻异常 像ArrayIndexOutOfBoundsException这样的异常是不需要声明的 但是如果没有适当的机制来捕捉,就会最终导致程序终止 异常遇到继承 异常 阅读全文 »
posted @ 2022-06-23 14:31 肥宅快乐水~ 阅读(12) 评论(0) 推荐(0) 编辑
摘要:异常 如果要读文件 打开文件; 判断文件大小; 分配足够的内存空间; 把文件读入内存; 关闭文件; 异常 有不寻常的事情发生了 当这个事情发生的时候,原本打算要接着做的事情不能再继续了,必须得要停下来,让其他地方的某段代码来处理 异常机制最大的好处就是清晰的分开了正常的业务逻辑代码和遇到情况时的处理 阅读全文 »
posted @ 2022-06-23 13:56 肥宅快乐水~ 阅读(23) 评论(0) 推荐(0) 编辑
摘要:异常捕捉机制 异常的抛出和处理 只有当异常在try模块中被抛出时,可以被catch模块所捕捉。 如果要在程序中由程序自己跑出一个系统为定义过的异常,则必须使用throw语句显示地进行抛出。 throw语句的语法是:throw<异常类对象> 注意:只有Throwable类及其子类对象才能被抛出、捕捉。 阅读全文 »
posted @ 2022-06-23 13:36 肥宅快乐水~ 阅读(36) 评论(0) 推荐(0) 编辑
摘要:MVC设计模式 TableModel MVC 数据、表现和控制三者分离,各负其责 M=Model(模型) V=View(表现) C=Control(控制) 模型:保存和维护数据,提供接口让外部修改数据,通知表现需要刷新 表现:从模型获得数据,根据数据画出表现 控制:从用户得到输入,根据输入调整数据 阅读全文 »
posted @ 2022-06-23 11:51 肥宅快乐水~ 阅读(30) 评论(0) 推荐(0) 编辑
摘要:匿名类 在new对象的时候给出的类的定义形成了匿名类 匿名类可以继承某类,也可以实现某接口 Swing的消息机制广泛使用匿名类 内部类 定义在别的类内部、函数内部的类 内部类能直接访问外部的全部资源 包括任何私有的成员 外部是函数时,只能访问那个函数里final的变量 注入反转 由按钮公布一个守听者 阅读全文 »
posted @ 2022-06-23 11:29 肥宅快乐水~ 阅读(25) 评论(0) 推荐(0) 编辑
摘要:布局管理器 布局就是各组件在容器中的大小及摆放的位置。为了实现跨平台的特性并获得动态的布局效果,java将组件的布局问题交给布局管理器对象来管理。 布局管理器负责确定每个组件的大小及位置,当容器发生变化时能够进行动态调整。 常见的布局管理器有:FlowLayout(流式布局管理器)、BorderLa 阅读全文 »
posted @ 2022-06-23 10:37 肥宅快乐水~ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:接口 接口是纯抽象类 所有的成员函数都是抽象函数 所有的成员变量都是public static final 接口规定了长什么样,但是不管里面有什么 接口,在Java中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。 一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不 阅读全文 »
posted @ 2022-06-23 09:34 肥宅快乐水~ 阅读(74) 评论(0) 推荐(0) 编辑
摘要:数据与表现分离 1.程序的业务逻辑与表现无关; 2.表现可以是图像也可以是文本; 3.表现可以是当地的也可以是远程的; View和Field的关系 表现与数据的关系 View只管根据File画出图形 Field只管数据的存放 一旦数据更新以后,通知View重新画出整个画面 不去精心设计哪个局部需要更 阅读全文 »
posted @ 2022-06-22 19:28 肥宅快乐水~ 阅读(23) 评论(0) 推荐(0) 编辑
摘要:抽象 抽象函数/抽象类 抽象函数——表达概念而无法实现具体代码的函数 抽象类——表达概念而无法构造出实体的类 带有abstract修饰符的函数 有抽象函数的类一定是抽象类 抽象类不能制造对象 但是可以定义变量 任何继承了抽象类的非抽象类的对象可以付给这个变量 实现抽象函数 继承自抽象类的子类必须覆盖 阅读全文 »
posted @ 2022-06-22 19:02 肥宅快乐水~ 阅读(28) 评论(0) 推荐(0) 编辑
摘要:可扩展性 用接口来实现聚合 给Room类实现的新方法,把方向的细节彻底隐藏在Room类内部了 今后方向如何实现就和外部无关了 用容器来实现灵活性 Room的方向是成员变量表示的,增加或减少方向就要改变代码 如果用Hash表来表示 方向,那么方向就不是“硬编码” 的了 可扩展性:你的代码不需要经过修改 阅读全文 »
posted @ 2022-06-22 15:32 肥宅快乐水~ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:消除代码复制 代码复制是不良设计的一种体 封装 一个能够正常运行而且没有bug的代码,不等于它就是一个好的代码 评价一个代码是否好、标准,是多元的,并不是只有唯一一个,能运行,没有bug就是标准,还有很多标准,尤其是这个代码是否适应于将来的需要,将来只有一种需要,就是维护 代码写出来不是跑一次,不是 阅读全文 »
posted @ 2022-06-22 14:34 肥宅快乐水~ 阅读(25) 评论(0) 推荐(0) 编辑
摘要:DoME的新媒体类型 新建一个VideoGame类,同样继承父类Item,重写父类中Item中的方法 在Database类中添加要输出的数据 增加新的媒体类型 在现在的Database的架构底线,我们要增加一个新的媒体类型会变的非常容易,增加新的媒体类型,只要添加一个新的Item类的新的子类就可以了 阅读全文 »
posted @ 2022-06-22 13:47 肥宅快乐水~ 阅读(64) 评论(1) 推荐(1) 编辑
摘要:多态 多态变量,有两个类型:一个是它的声明类型,一个是它的动态类型,它的声明类型永远是那个类型,它的动态类型这次拿到是什么,就是什么类型 函数调用的绑定 当通过对象变量调用函数的时候,调用哪个函数这件事情叫做绑定 静态绑定:根据变量的声明类型来决定 动态绑定:根据变量的动态类型来决定 在成员函数中调 阅读全文 »
posted @ 2022-06-22 11:11 肥宅快乐水~ 阅读(22) 评论(0) 推荐(0) 编辑
摘要:子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当做父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 子类型与赋值 子类的对象可以赋值给父类的变量 子类和参数传递 子类的对象可以传递给需要父类对象的函数 子类型和容器 子类的对象可以放在存放父类对象 阅读全文 »
posted @ 2022-06-22 10:04 肥宅快乐水~ 阅读(30) 评论(0) 推荐(0) 编辑
摘要:子类继承了什么? protected:自己可以访问,同一个包内的其他类也可以访问,子类可以访问 子类自动具备来自于父类的属性和行为,做到代码的复用和设计的分离,但是私有的类属性成员和方法则无法继承 能够继承父类的public和protected成员变量;不能够继承父类的private成员方法; 对于 阅读全文 »
posted @ 2022-06-21 21:40 肥宅快乐水~ 阅读(157) 评论(0) 推荐(0) 编辑
摘要:媒体数据库的设计 CD资料库 首先需要一个容器,自己设计一个类,由这个类来表达一个CD,把这个CD放在容器里面,从而形成一个资料库 代码中的问题:代码复制,后期不容易改进,如果再添加一个mp4,就又需要添加修改一堆东西,也不利于后期改进 继承 继承的关键字:extends 利用继承的关系,CD和DV 阅读全文 »
posted @ 2022-06-21 20:35 肥宅快乐水~ 阅读(38) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示