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.图书系统的重新设计编写

之前未完成集中:

1.String数据类型的深入学习

2.在输出double数据类型时,使用DecimalFormat对输出数据格式化

3.之前学习笔记温习

IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★的更多相关文章

  1. 面向对象编程思想(OOP)

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  2. 面向对象编程思想(前传)--你必须知道的javascript

    在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...

  3. 面向对象编程思想(OOP)

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  4. 面向对象编程思想(前传)--你必须知道的javascript(转载)

    原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录   什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 ...

  5. PHP中面向对象编程思想的3个特征

    面向对象编程思想的3个特征: 封装: 无非是一个大的指向思想,目的是为了将一个类设计得更为健壮! 其基本做法是: 尽可能地将一个类的成员私有化,只开放那些必不可少的对外的属性或方法,能private的 ...

  6. 面向对象编程思想(OOP)(转发)

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  7. 面向对象编程思想(OOP)总结

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  8. day22面向对象编程思想

    day22面向对象编程思想 1.面向过程 面向过程: 核心是"过程"二字 过程的终极奥义就是将程序流程化 过程是"流水线",用来分步骤解决问题的 面向对象: 核 ...

  9. java面向对象编程思想的理解

    1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...

随机推荐

  1. tar.xz文件怎样解压

    XZ压缩最新压缩率之王 xz这个压缩可能非常多都非常陌生,只是您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直非常少,所以差点儿没有什么提起. 我是在下载phpmyadmin的 ...

  2. [Codecademy] HTML&CSS 第三课:HTML Basic II

    本文出自   http://blog.csdn.net/shuangde800 [Codecademy] HTML && CSS课程学习目录 --------------------- ...

  3. tomcat 部署web项目异常

    项目部署到Tomcat报这样的异常:validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending cla ...

  4. des 加密 iOS

    转载请注明原文出处 生成同名的Des.h文件和Des.m文件后,拷贝下方的代码可直接使用.注意在Des.m文件中将key值修改为项目所需的key.--->  #define DesKey 过程很 ...

  5. ExtJS001HelloWorld弹窗

    html页面 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  6. js后缀判断

    var extension=fileName.substring(fileName.lastIndexOf('.')+1);

  7. Android NDK开发(1)----- Java与C互相调用实例详解

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/13/2394153.html 一.概述 对于大部分应用开发者来说可能都不怎么接触到NDK,但如果 ...

  8. 在C#调用C++的DLL方法(二)生成托管的DLL

    写操作之前,还是扼要的说一下托管与非托管C++的区别好了,其实我也并没有深入了解过托管C++的特点所在,其最大的特征就是可以由系统来调试回收相关的代码资源,跟C#的特性一样,只是编程风格跟C++类似而 ...

  9. 07-C语言流程控制if、switch

    目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...

  10. Oracle10g--plSql命令

    每天学点Oracle10g--plSql命令 附录B SQL*PLUS Sql*plus 中使用绑定变量: sql> variable x number; sql> exec :x := ...