IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★
|
IT第二十天 |
|||
|
上午 |
面向对象编程思想 |
1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PCI接口:显卡+声卡 (5)USB接口:U盘 2.人的描述: (1)人按肤色分:黄人+黑人+白人;人按年龄分:老年人+青年人;人按性别分:男人+女人;等等 (2)可以写一个Person类,当去描述一个人时,可以让这个类去实现多个不同的接口,如实现男人的接口、实现青年人的接口、实现黑人的接口等等 |
|
|
抽象类 |
1.抽象类中可以有抽象方法,也可以有有方法体的方法,抽象类需要继承后才能使用,需要实现该抽象类的所有抽象方法,抽象类不能实例化 |
||
|
异常处理 |
|||
|
下午 |
异常 |
1.异常的捕获,需要匹配相应的异常类型,或者父类型,否则将造成异常不能够被正常的捕获 2.在try-catch后,finally语句块必被执行,无论异常是否发生,或者在try-catch语句块存在return返回 3.多重catch,当存在多个catch语句块时,会依次执行相应的catch捕获语句块,并且一旦找到匹配的catch语句块,之后的catch语句块都不会被执行 4.如果抛出的异常是非Runtime异常,需要使用throws声明出来,并且声明的类型必须相同,否则可能会造成报错(待理解) 5.子类在重写父类的方法时,抛出的异常不能比父类的方法抛出的异常类型范围法,但是可以抛出多个异常 |
|
|
断言 |
1.断言主要是在确定某些值时,设立断言,用于判断在程序运行时,是否真的如愿 2.在使用断言前,需要配置环境:-enableassertions |
||
|
日志文件 |
1.使用系统的日志生成类进行编写 2.使用第三方的日志插件进行操作日志的生成:log4j 使用方法: (1)首先需要导入log4j的jar包文件 (2)然后再src目录进行配置文件的编写log4j.properties (3)声明日志生成的变量,log4j是使用的单例模式进行设计的,因此需要调用其get方法进行获取, (4)最后在需要输出日志信息的代码行,进行相应的日志输出,如:debug、info、error等 |
||
|
晚上 |
|||
|
笔记 |
1.面向对象的编程思想:电脑组装、人的描述 2.异常处理,包括异常的捕获、多重catch、finally的使用 3.在进行方法的编写时,如果抛出的异常是非Runtime异常,这时需要使用throws进行声明,并且声明的类型必须相同 4.子类在重写父类的方法时,抛出的异常类型范围不能比父类的大,但是可以抛出多个异常,这些多个异常的范围也不长超出父类的异常范围 5.日志文件的使用,使用第三方的log4j.jar,进行程序运行的日志输出 |
||
|
本周总结 |
|||
|
本周总结 |
重点 |
1.程序设计:单例模式,是程序在多次开启时,始终是上一次的开启状态,而不会产生想全新的应用 2.继承,Object是所有类的基类,包括系统类+用户类 3.重点关注的方法:Object.finalize()的学习理解 4.在继承时,需要对方法进行重写时,建议在方法前面加上@Override关键字,避免重写出错,导致新方法的添加 5.子类只能继承一个父类,但是子类可以拥有多个“父类”,即父类继承了父类…… 6.在类的继承中,super()的使用,即:super()表示的是父类的实例,因为父类的构造方法可能带有参数,因此在子类继承父类时,需要在构造方法中使用super()传入参数,从而达到继承 7.关键字protect对父类中属性的控制:父类中显示用protect修饰的属性,在异包的子类中可以访问,但是默认的protect(隐式的)修饰符修饰的关键字不可以访问;而实例化子类的类如果不和父类在同包中,无论如何都访问不到protect修饰的属性 8.在应用继承关系时,父类可以实例化子类,而子类不能实例化父类,因为可能会导致ClassCastException报错,即使是强制转换成子类类型,在运行时会报错ClassCastException 9.继承关系中,实例化时,对于装箱、拆箱的理解 10.接口的编写,接口中的属性必须是静态的,且声明时就应该赋值,一经赋值以后就不可以修改,即finally 11.异常处理:抛出异常或捕获异常并进行处理,多重catch即finally的使用 12.在进行方法的编写时,如果抛出的异常是非runtime异常,这时就需要使用throws对异常进行声明,并且声明的异常类型必须和抛出的异常类型相同 13.子类在重写父类的方法时,抛出的异常的范围不能比父类中方法抛出的异常范围大,但是可以抛出多个异常,范围均应小于父类 14.对于程序运行的日志的输出,使用第三方的jar包,编写相关的代码进行程序执行日志的记录,log4j.jar 15.面向对象编程思想的学习:电脑的组装+人的描述 |
|
|
疑问 |
1.非runtime异常的声明,非runtime的理解 |
||
|
未完成 |
1.面向对象编程思想的学习 2.垃圾回收机制Object.finalize()的学习理解 3.代码块finally,在try-catch中的执行逻辑的学习 4.非runtime的理解学习 5.程序执行日志记录的编写联系 6.super关键字的练习使用 7.程序设计单例模式的编写实践 8.图书系统的重新设计编写 之前未完成集中: 2.在输出double数据类型时,使用DecimalFormat对输出数据格式化 3.之前学习笔记温习 |
||
IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★的更多相关文章
- 面向对象编程思想(OOP)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- 面向对象编程思想(前传)--你必须知道的javascript
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...
- 面向对象编程思想(OOP)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- 面向对象编程思想(前传)--你必须知道的javascript(转载)
原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...
- PHP中面向对象编程思想的3个特征
面向对象编程思想的3个特征: 封装: 无非是一个大的指向思想,目的是为了将一个类设计得更为健壮! 其基本做法是: 尽可能地将一个类的成员私有化,只开放那些必不可少的对外的属性或方法,能private的 ...
- 面向对象编程思想(OOP)(转发)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- 面向对象编程思想(OOP)总结
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- day22面向对象编程思想
day22面向对象编程思想 1.面向过程 面向过程: 核心是"过程"二字 过程的终极奥义就是将程序流程化 过程是"流水线",用来分步骤解决问题的 面向对象: 核 ...
- java面向对象编程思想的理解
1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...
随机推荐
- typedef使用
1.利用typedef定义函数指针 代码简化,促进跨平台开发 typedef行为有点类似#define 宏,用其实际类型替代同义字. 不同点:typedef 在编译时被解释,因此让编译器来 应付超 ...
- docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-l ...
- iOS 相互引用引起内存泄露问题说明
release动作只会对自身计数减一,而不会对属性发出release消息,只有该对象的引用计数为0,系统才会对该对象的所有属性发出release消息 类A的属性有类B,类B的属性有类A,而且两者都是强 ...
- 如何上传base64编码图片到七牛云
接口说明 POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/crc32/<Cr ...
- LeetCode Coins in a Line
There are n coins in a line. Two players take turns to take one or two coins from right side until t ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- HDU 1695 GCD(欧拉函数+容斥原理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:x位于区间[a, b],y位于区间[c, d],求满足GCD(x, y) = k的(x, ...
- canvas绘制弹跳小球
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用Apache的rewrite技术
做PHP项目中需要用到URL重定向技术,基本上的需求就是把比如 /user/heiyeluren 重定向到 /user.php?uid=heiyeluren 之类的URL上,当然,你也可以把 /art ...
- IOS 警告框 (UIAlertView)的使用方法
1.普通警告框 IOS的SDK中提供了一个方便的类库UIAlertView,配合着不同参数来使用此类可以做出大多数的警告框,如下代码是IOS最简单的警告框. UIAlertView *alert = ...