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是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...
随机推荐
- superMap Object 属性查看的一点代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 关于js封装框架类库之DOM操作模块(一)
在前端开发的过程中,javascript极为重要的一个功能就是对DOM对象的操作,而对其封装就是为了更好地进行DOM操作,提高浏览器的支持效率 现在给出一个案例:页面创建三个div,然后给其添加样式 ...
- WebApi个人理解概要
WebApi概要 Global文件的作用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class MvcApplication : System.We ...
- Git跨平台中文乱码临时解决方案
Git 是一个非常优秀的分布式版本控制系统,最初为Linux Kernel版本管理进行量身定做.优点是,和其他版本控制系统相比,稳定,速度快,跨平台,易学易用,无需要花费成本.更多优点请点击阅读:ht ...
- Objective-c 集合对象
集合(NSSet)是一组单值对象的组合,集合对象的操作包括:搜索,添加,删除集合中的成员(可变集合的功能),比较两个集合,计算两个集合的交集,并集等. 下面来看下(NSSet)的方法: 1)集合的构建 ...
- ##DAY8 界面通信
##DAY8 界面通信 注意:延展中写的东西只能在类内使用 #pragma mark ———————属性传值—————————— (第一个页面往第二个页面传值) 一.属性传值:(第一个页面往第二个页面 ...
- VC++ 编译过程
一 前言 一开始编译C++代码的时候可能会对编译的错误觉得很难理解,搞不清楚究竟是哪里错了.了解编译过程,能够更好的处理编译错误. 二 名词解释 编译单元:当一个c或cpp文件在编译时,预处理器首先递 ...
- HTTP协议头部与Keep-Alive模式详解
HTTP协议头部与Keep-Alive模式详解 .什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器 ...
- poj 3243 Clever Y 高次方程
1 Accepted 8508K 579MS C++ 2237B/** hash的强大,,还是高次方程,不过要求n不一定是素数 **/ #include <iostream> #inclu ...
- [转]iOS多线程编程之NSThread的使用
1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1..NSThread 2.Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue ...