任桂明_使用java实现面向对象编程总结_第1页
任桂明_使用java实现面向对象编程总结_第2页
任桂明_使用java实现面向对象编程总结_第3页
任桂明_使用java实现面向对象编程总结_第4页
任桂明_使用java实现面向对象编程总结_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 抽象和封装一、类是对象的抽象,对象是类的实例二、使用面向对象进行设计面向对象设计的过程就是抽象的过程,分三步来完成:1.找出它的种类2.找出它的属性3.找出它的行为三、类名、属性名、方法名以及常量名的命名规则:1.类名由一个或几个单词组成,每个单词的第一个字母大写,如Dog、StringBuffer2.属性名和方法名由一个或几个单词组成,第一个单词首字母小写,其他单词首字母大写,例如health,stuName,println(),getMessage()。3.常量名由一个或几个单词组成,所有字母大写,如PI,SEX_MALE四、静态常量1.static可以用来修饰属性、方法和代码块2

2、.static修饰的属性和方法称为类属性(类变量)、类方法3.不使用static修饰的属性和方法,属于单个对象,通常称为实例属性(实例变量)、实例方法4.static修饰的变量和方法可以通过类名和对象名访问,而不用static修饰的变量和方法只能通过对象名访问static 非private修饰非 static ,private修饰属性类属性,类变量实例属性,实例变量方法类方法实例方法调用方法类名.属性类名.方法()对象.属性对象.方法()对象.属性对象.方法()归属类单个对象5.final可以用来修饰属性、方法和类6.用final修饰的变量成为常量,其值固定不变五、构造方法1.构造方法是一个特

3、殊的方法,它用于创建类的对象,因此一个类必须包含至少一个构造方法,否则就无法创建对象。2.构造方法的名字和类名相同,没有返回值类型。3.构造方法的作用主要就是在创建对象时执行一些初始化操作,如给成员属性赋初值。六、方法重载的判断依据1.必须是在同一个类里。2.方法名相同3.方法参数个数或参数类型不同。4.与方法返回值和方法修饰符没有任何关系。七、封装1.封装(Encapsulation):是类的三大属性之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。2.封装的具体步骤:1修改属性的可见性来限制对属性的访问,2为每个属性创建一对赋

4、值(setter)方法和取值(getter)方法,用于对这些属性的存取。3在赋值方法中,加入对属性的存取控制语句。3.封装的好处:隐藏类的实现细节;让使用者只能通过程序员规定的方法来访问数据;可以方便地加入存取控制语句,限制不合理操作。八、This的使用因为this是在对象内部指代自身的引用,所以this只能调用实例变量、实例方法和构造方法this不能调用类变量和类方法。this也不能调用局部变量。第二章 继承一、使用继承1.编写父类 Class Pet /公共的属性和方法2.编写子类,继承父类 Class Dog extends Pet /子类特有的属性和方法 Class Penguin e

5、xtends Pet 二、理解继承1.子类访问父类成员 使用super关键字访问父类属性S; (super代表父类对象) 2 ) 访问父类方法 Super.print();2.有些父类成员不能继承 1)private成员 2)子类与父类不在同包,使用默认访问权限的成员 3)构造方法3.访问修饰符protected 1)可以修饰属性和方法 2)本类、同包、子类可以访问4.符合is-a关系的设计使用继承5.Java中,继承(Inheritance)通过extends关键字来实现,其中SubClass称为子类,SuperClass称为父类、基类或超类。6.在子类中可以根据需求对从父

6、类继承的方法进行重新编写,称为方法的重写或方法的覆盖。方法的重写满足的要求:7构造方法不能被继承因此不能被重写。8.在子类中调用父类的构造方法? Super(); Super(参数表);9.super代表对当前对象的直接父类对象的默认引用。在子类中可以通过super关键字来访问父类的成员。 Super的要求10.继承条件下构造方法的调用规则:11.使用this和super注意事项:12.抽象类和抽象方法都通过abstract关键字来修饰。13.abstract也可以用于方法抽象方法 1)抽象方法没有方法体 2)抽象方法必须在抽象类里。 3)抽象方法必须在子类中被实现,除非子类是抽象类。 Pub

7、lic abstract void print();没有方法体14.final修饰符 1)用final修饰的类,不能再被继承 2)用final修饰的方法,不能被子类重写 3)用final修饰的变量(包括成员变量和局部变量)将变成常量,只能赋值一次。 注意:P5715.abstract是否可以和private、static、final共用第三章多态一:1.个引用类型,使用不同的实例而执行不同操作。(父类引用子类对象) 使用多态的好处:通过多态可以减少类中的代码量,可以提高代码的可扩展性和可维护性。2. 实现思路编写父类编写子类,子类重写父类方法运行时,使用父类的类型,子类的对象。三:实现多态的两

8、个要素1. 重写使用父类类型方法重写的规则在继承关系的子类中重写的方法名、参数、返回值类型必须与父类相同私有方法不嫩计策因而也无法重写。2.Instanceof运算符 语法:instanceof 类或接口该运算用来判断一个对象是否属于一个类或者实现了一个接口。结果为true或false。子类转换成父类时的规则:子类到父类的转换(向上转换)父类到子类的转化(向下转换)第四章接口一、接口可以看作是一种特殊的“抽象类”。二、接口有比抽象类更好的特性 1.可以被多继承 2.设计和实现完全分离 3.更自然的使用多态三、接口语法 public interface Myinterfacepublic voi

9、d foo() /其他方法 说明P99-100 使用接口:编写接口,实现接口,使用接口四、接口特性 1.接口不可以被实例化 2.实现类必须实现接口的所有方法 3.实现类可以实现多个接口 4.接口中的变量都是常量五、接口表示一种约定:体现在接口名称和注释上(有些接口只有名称,方法的实现方式要通过注释来约定)面向接口编程:程序设计时面向接口的约定而不考虑具体实现。六、接口是一种能力:体现在接口的方法上面向接口编程:关心实现类有何能力,而不关心实现细节。七、C#中的接口修饰符 interface 接口名 : 父接口1,父接口2, 属性定义 方法定义class 类名 : 父类名,接口1,接口2, 八、

10、语法对比(Java&C#)第六章异常一:定义:异常是在程序的运行过程中所发生的不正常的事件,他会中断正在运行的程序二:异常处理关键字:try catch finally throw throwsTry:把可能出现异常的代码放入try中Catch:捕捉异常Finally:无论是否有异常,都会执行的代码Throw:总是出现在方法体Throws:总是出现在方法的声明中,用了表明改方法可能抛出的各种异常三:常见的异常Exception:异常层次结构的根类ArithmeticException:算数错误的情形,ArrayIndexOutOfBoundsException:数组大于或小于实际数组的

11、大小NullPointerException:尝试访问null对象成员ClassNotFoundException:欲得到数据类型与实际输入类型不匹配IllegalArgumentException:方法接受到的非法参数四:log4i记录日子文件信息日志文件具有输出优先级:从低到高: debug info warn errorJava语言的基本数据类型和包装类原始数据类型占的字符包装类byte8Bytechar16Charint32Intergerlong64Longshort16Shortfloat32Floatdouble64Doubleboolean1Boolean访问修符的可访问性Pr

12、ivate默认(friendly)ProtectedPublic同一个类是是是是同一个包的其他类否是是是不同包的子类否否是是不同包且不同子类否否否是第七章 集合框架一:接口:即表示集合的抽象数据类型。实现:即集合框架中接口的实现。算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。Collection 接口存储一组不唯一,无序的对象List 接口存储一组不唯一,有序(插入顺序)的对象Set 接口存储一组唯一,无序的对象 Map接口存储一组键值对象,提供key到value的映射 二、实现List接口的常用类有ArrayList和LinkedList。它们都

13、可以容纳所有类型的对象,包括Null,允许重复,并且都保证元素的存储顺序。ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高LinkedList采用链表存储方式。插入、删除元素时效率比较高List接口常用方法方法名说 明boolean add(Object o)在列表的末尾顺序添加元素,起始索引位置从0开始void add(int index,Object o)在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间int size()返回列表中的元素个数Object get(int index)返回指定索引位置处的元素。取出的元素是Ob

14、ject类型,使用前需要进行强制类型转换boolean contains(Object o)判断列表中是否存在指定元素boolean remove(Object o)从列表中删除元素Objectremove(int index)从列表中删除指定位置元素,起始索引位置从0开始Vector和ArrayList的异同P185LinkedList的特殊方法方法名说 明voidaddFirst(Object o)在列表的首部添加元素voidaddLast(Object o)在列表的末尾添加元素ObjectgetFirst()返回列表中的第一个元素ObjectgetLast()返回列表中的最后一个元素Ob

15、jectremoveFirst()删除并返回列表中的第一个元素ObjectremoveLast()删除并返回列表中的最后一个元素Map的常用方法方法名说 明Object put(Object key, Object val)以“键-值对”的方式进行存储Object get (Object key)根据键返回相关联的值,如果不存在指定的键,返回nullObject remove (Object key)删除由指定的键映射的“键-值对”int size()返回元素个数Set keySet ()返回键的集合Collection values ()返回值的集合booleancontainsKey (O

16、bject key)如果存在由指定的键映射的“键-值对”,返回trueHashtable和HashMap的异同P190三、迭代器Iterator所有集合接口和类都没有提供相应遍历方法,而是由Iterator实现集合遍历Collection 接口的iterate()方法返回一个Iterator,然后通过Iterator接口的两个方法可实现遍历1.boolean hasNext(): 判断是否存在另一个可访问的元素 2.Object next(): 返回要访问的下一个元素四、泛型集合把任何类型对象通过add(Object obj) 放入List中,认为只是Object类型通过get(int ind

17、ex) 取出List中元素时必须进行强制类型转换,繁琐而且容易出现异常使用Map的put(Object key, Object value)和get (Object key)存取对象时存在同样问题使用Iterator的next()方法获取元素时存在同样问题第八章 JDBC一、JDBC(Java DataBase Connectivity)是Java数据库连接技术的简称,提供连接各种常用数据库的能力二、工作原理提供者:Sun公司内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类:依据数据库的不同,管理JDBC驱动Connection接口

18、:负责连接数据库并担任传送数据的任务 Statement接口:由 Connection 产生、负责执行SQL语句ResultSet接口:负责保存Statement执行后所产生的查询结果DriverManager提供者:Sun公司作用:管理各种不同的JDBC驱动JDBC 驱动提供者:数据库厂商作用:负责连接各种不同的数据库三、JDBC访问数据库的步骤加载JDBC驱动 与数据库建立连接 发送SQL语句,并得到返回结果 处理返回结果 释放资源四、JDBC的驱动JDBC驱动由数据库厂商提供在个人开发与测试中,可以使用JDBC-ODBC桥连方式在生产型开发中,推荐使用纯Java驱动方式使用JDBC-OD

19、BC桥方式连接数据库将对JDBC API的调用,转换为对另一组数据库连接API的调用优点:可以访问所有ODBC可以访问的数据库缺点:执行效率低、功能不够强大使用纯Java方式连接数据库 由JDBC驱动直接访问数据库优点:100% Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动五、Statement接口和ResultSet借口Statemen对象用将SQL语句发送到数据库中,或者理解为执行SQL语句Statament常用方法方法名说 明ResultSet executeQuery(String sql)执行SQL查询并获取到ResultSet对象int executeUp

20、date(String sql)可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数boolean execute(String sql)可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSetResultSet可以理解为由所查询结果组成的一个二维表,每行代表一个记录,每列代表一个字段,并存在一个光标,光标所指行为当前行,只能对结果集的当前行数据进行操作。P212ResultSet常用方法方法名说 明boolean next()将光标从当前位置向下移动一行boolean previous()游标从当前位置向上移动一行void close()关闭ResultSet 对

21、象int getInt(int colIndex)以int形式获取结果集当前行指定列号值int getInt(String colLabel)以int形式获取结果集当前行指定列名值float getFloat(int colIndex)以float形式获取结果集当前行指定列号值float getFloat(String colLabel)以float形式获取结果集当前行指定列名值String getString(int colIndex)以String 形式获取结果集当前行指定列号值String getString(String colLabel)以String形式获取结果集当前行指定列名值六

22、、PreparedStatement接口PreparedStatement接口继承Statament接口,PreparedStatement比普通Statament对象使用起来更加灵活,更有效率。第九章 数据访问层一持久化是将程序中的数据在瞬时状态和持久状态间转换的机制· 数据库· 普通文件· XML文件主要的持久化操作包括:保存、删除、修改、读取、查找等。二DAO· Data Access Object(数据存取对象) · 位于业务逻辑和持久化数据之间· 实现对持久化数据的访问三DAO模式的组成部分· DAO接口·

23、; DAO实现类· 实体类· 数据库连接和关闭工具类四分层开发的优势:各层专注于自己功能的实现,便于提高质量便于分工协作,提高开发效率便于代码复用便于程序扩展五分层开发封装性原则每个层次向外公开接口,但是隐藏内部细节顺序访问原则下一层为上一层服务,但不使用上层的服务分层结构中,不同层之间通过实体类传输数据第十章 XML和File I/O一 XML( eXtensible Markup Language,可扩展标记语言)是一种简单的数据存储语言,使用一系列简单的标签描述数据二 XHTMLXML标签标签都有固定含义不能去创造新的标签支持自定义标签,具有扩展性作用主要用

24、来显示数据可以通过标签和属性对页面显示进行排版用来存储和交换数据无法描述页面的排版和显示形式· XML文档总是以XML声明开始· 定义了XML的版本和所使用的编码等信息· XML文档的主要部分是元素· 元素由开始标签、元素内容和结束标签组成· 元素内容可以包含子元素、字符数据等· XML文档中的注释符号是<!- ->四: 什么是DTDDTD(Document Type Definition文档类型定义)保证XML文档格式正确性DTD的结构DTD 以简单文本文件的形式出现可以存储在独立的文件中,也可以嵌入 XML 文档引用

25、DTD 的 XML 文档将包含 <!DOCTYPE> 声明五:1. 编写CSS样式文件 2. 引入CSS文件<?xml-stylesheet type="text/css" href="pet.css"?>pets display: block; color: red;dog,penguin display: block; margin-left: 40pt;使用CSS格式化XML不能代表XML文档格式化的未来。XSL是首选的XML样式表语言,远比CSS更加完善六: · DOM是Document Object Model

26、的缩写,即文档对象模型· DOM把XML文映射成一个倒挂的树· 使用DOM解析XML文档的步骤:· 创建解析器工厂对象· 由解析器工厂对象创建解析器对象· 由解析器对象对指定XML文件进行解析,构建相应DOM树,创建Document对象· 以Document对象为起点对DOM树的节点进行增删改查操作。· Document对象代表了整个XML文档· 所有其它的Node都以一定的顺序包含在Document对象之内· 它也是对XML文档进行操作的起点· Document对象的主要方法有:·

27、getElementsByTagName(String):返回一个NodeList对象,它包含了所有给定标签名字的标签· getDocumentElement():返回一个代表这个DOM树的根节点的Element对象,也就是代表XML文档根元素的那个对象· 指一个包含了一个或者多个节点(Node)的列表· 可以简单的把它看成一个Node数组· 可以通过方法来获得列表中元素· NodeList对象常用的方法有:· getLength():返回列表的长度· item(int):返回指定位置的Node对象· 是DOM结构

28、中最基本的对象,代表了文档树中的一个抽象节点· 实际使用的时候,很少会真正用到Node这个对象· 而是用到诸如Element、Attr、Text等Node对象的子对象· Node对象的主要方法有:方法名说 明getChildNodes()包含此节点的所有子节点的NodeListgetFirstChild()如果节点存在子节点,则返回第一个子节点getLastChild()如果节点存在子节点,返回最后一个子节点getNextSibling()返回在DOM树中这个节点的下一个兄弟节点getPreviousSibling()返回在DOM树中这个节点的上一个兄弟节点get

29、NodeName()根据节点的类型返回节点的名称getNodeValue()返回节点的值getNodeType()返回节点的类型· Element对象· 代表XML文档中的标签元素· 继承自Node对象,是Node最主要的子对象· Element对象的方法:· getAttribute(String):返回标签中给定属性名称的属性的值· getElementsByTagName(String):返回具有给定标记名称的所有后代 Elements 的 NodeList代码eg:<?xml version="1.0"

30、; encoding="UTF-8"?><!DOCTYPE pets SYSTEM "pet.dtd" ><pet> <dog> <health>100</health> <love>0</love> <decHealth>18</decHealth> <incLove>10</incLove> </dog> <penguin> <health>100</health>

31、<love>0</love> <decHealth>15</decHealth> <incLove>8</incLove> </penguin></pet>System.out.println("XML文件中狗狗的初始化信息:");for (int i = 0; i < petList.getLength(); i+) Node pet = petList.item(i); for (Node node = pet.getFirstChild(); node != null; node = node.getNextSibling() if (node.getNodeType() = Node.ELEMENT_NODE) String name = node.getNodeName(); String value = node.getFirstChild().getNodeValue()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论