ImageVerifierCode 换一换
格式:DOCX , 页数:65 ,大小:294.36KB ,
资源ID:10466014      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10466014.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java知识手册.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java知识手册.docx

1、Java知识手册技术知识复习与总结简介:文档版权文档作用:此文档用于知识复习创建时间:2015年5月22日创建人:闫楠楠1.1、【Java基础知识复习(面向对象)】 1.1.1、【Java面向对象四个基本特点】 抽象、继承、多态、封装 1.1.1.1【抽象的概念】 抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象,可以是表示数据的VO对象或抽象类,也可以是表示一类行为的接口。有利于使用继承来构造类的体系,实现多态,使用模板和工厂模式方法来实现对业务过程的抽象。抽象是概念建模和业务流程建模很重要的工具,是面向对象体系的基石,而不是一堆杂乱、混乱、重复、散沙般的、关系错综复杂

2、的类。 1.1.1.1.1【抽象的使用】 1.抽象在java中用关键字abstract表示 2.抽象abstract可定义在类class的前面、如果定义类为抽象、则表示此类为一个抽象类、被抽象类所修饰的类类中的方法都是抽象方法 3.通常抽象类中的方法没有具体的实现 1.1.1.2【继承的概念】 是一种连结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表示共性的方法。 继承意味着能声明一个类型,而且能继承父类中的所有操作和数据,同事还有机会声明自己的新方法以改进、具体化、代替或者扩展父类中的方法 使用父类为应用领域建立层次模型,提供代码重用并允许定制 1.1.1.2.1【继承的使用】 1.

3、继承在java中用关键字extends表示2. Java中不支持多继承只支持单继承多实现3. extends写在类名后面4.一个类如果要防止继承请使用关键字final。 1.1.1.3【多态的概念】 一种事物具有多种表现形态称为多态,一个对象变量可以指向多种实际类型的现象。 1.1.1.3.1【多态的使用】 大多体现在接口上 1.1.1.4【封装的概念】 封装是把数据和行为结合在一起至一个jar包中,从层次角度来讲也可以把对象的使用者隐藏数据有关的过程,封装至一个方法体中,熟称封装为“黑盒子” 1.1.1.4.1【封装的使用】 1.多数用于封装方法的类及过程 2.或类的jar包 1.1.2、【

4、Java的内存区域划分】 Java逻辑上分为:栈区(变量区)、堆区(对象区)、静态常量区、方法区 1.1.3、【Java的方法重载overload】 1.1.3.1【方法重载的目的】 Java中方法重载主要是为了实现多态性(一种事物不同情况下的表现)一种事物多种形态 1.1.3.2【方法重载的规则】 (1)、在同一个类中 (2)、方法名必须相同(参数个数不同、类型不同) (3)、返回类型可同可不同 1.1.4、【Java的方法重写override】 1.1.4.1【方法重写的目的】 Java中的重写指的是出现在继承上,子类重写父类中的方法,当子类要修改父类中的某个方法时,就可以在子类中声明一个

5、与父类同名、同参数并且同返回值类型的方法,这就是方法覆盖(重写父类中的方法) 1.1.4.2【方法重写的规则】(1)子类必须继承父类,子类必须实现父类中的方法(2)方法名字相同(3)参数必须相同(4)返回类型必须相同 1.1.5、【Java八种基本数据类型】 1.1.5.1【基本数据类型】 (1)、byte 字节型(8-bit) (2)、short 短整形(16-bit) (3)、int 整形(32-bit) (4)、long 长整形(64-bit) (5)float 单精度浮点型(32-bit) (6)double 双精度浮点型(64-bit) (7)char 字符型(16-bit) (8)

6、boolean 逻辑型(true和false 2个值真和假) 1.1.5.2【基本数据类型(封装类)】 (1)、byte 封装 Byte (2)、short 封装 Short (3)、int 封装 Integer (4)、long 封装 Long (5)、float 封装 Float (6)、double 封装 Double (7)、char 封装 Character (8)、boolean 封装 Boolean 1.1.5.3【数据类型转换】 (1)、基本数据类型封装 int A=10; Integer B=new Integer(A); (2)基本数据类型int字符String Int A

7、=10; String str=A+”; (3) 字符String基本数据类型int String str=20; Int A=Integer.parseInt(str); (4)字符String封装 String str=10; Integer A=Integer.valueOf(str); . . . . . . . . . . . . . . . . 1.1.5.4【String不可变的类】 String 是不可变的类,即一旦字符串被初始化完成就能够更改。 1.1.5.5【String赋值】 String是一个特殊的类,被称为类类型结构,String使用“=”号赋值,并不是每一次都创建一

8、个新字符串,而是从“字符串实例池”中去查找字符串,查找到直接返回,未查询到就从新创建字符串实例。 String用new关键字创建字符串,则表示每一次都创建一个新的字符串。 1.1.5.6【String与StringBuffer】 String类是不可变的类,即字符串一旦被初始化后就不能被更改,StringBuffer是可变字符串类,类似String的字符串缓存区,可以修改字符串的值, 例如:String name=new String(“Hello”); name+=”world”; 这2句代码的过程是这样的:首先创建了StringBuffer对象,然后用StringBuffer类的appen

9、d()方法追加字符串”world”,最后StringBuffer对象调用toString()方法合成字符串返回 1.1.5.7【StringBuffer与StringBuilder】 StringBuffer是线程安全的字符串缓存区,StringBuilder非安全线程的。 1.1.5.8【Java语言值传递规则】 基本数据类型传递的是值,引用类型数据传递的是引用虚拟地址。 1.1.6、【Java访问修饰符】修饰符名称本类中同一个包中子类其他包中(非子类)其他包中(子类)publictruetruetruetruetrueprivatetruefalsefalsefalsefalseprote

10、ctedtruetruetruefalsefalsefriendlytruetruetruefalsefalse 1.1.6.1【java继承中类的初始化顺序】访问范围 (1)继承关系中构造执行顺序:先父类后子类 (2)继承关系中初始化顺序:先初始化父类属性父类构造子类属性子类构造 (3)构造不能被继承所以不能被重写 1.1.6.2【final修饰符】 (1)final修饰属性:final修饰属性后,属性成为了常量,常量只要被赋值就不能被改变。 (2)final修饰方法:final修饰方法后就不能够被重写(override)但是可以被继承、最终方法。 (3)final修饰类:final修饰类后

11、,该类就不能够被继承,被final所修饰的类被称为最终类,最终类反过来可以继承别人的类。 1.1.6、【Java逻辑运算符】Java算术运算符表示方式字符说明+取正数-取负数+自曾+1- -自减-1+、-、*、/、%四则运算符(求商余数)AB?true:false当A大于B时为true(冒号之前的值),否则为falseJava关系运算符表示方式等于=、不等于!=、大于、小于=、小于等于=、Java逻辑运算符表示方式与(&)、非(!)、或(|)Java双目对象逻辑运算符表示方式instanceof 判断对象所属类型Java逻辑真假运算符表示方式equals (true false) 1.1.7、

12、【Java过程终止符】 (1)break的使用:break用于逻辑内部或循环内部程序的过程终止,内部使用break终止后代码会继续往下执行(switch判断中也常用到)。 (2)continue的使用:continue多数用于循环体内部中,循环体内部使用continue后程序会终止当前循环,然后从新开始继续循环,通常用于循环体逻辑验证减少循环体性能开销和代码性能优化。 1.1.8、【Java接口】 1.1.8.1【什么是接口】 接口就是一些方法特征集合,接口是多态抽象的体现,接口使用关键字“abstract” 1.1.8.2【接口的特征】 (1)(接口中)所有方法都是(抽象方法) (2)接口中

13、(不能有属性) (3)接口可以实现多个 (4)类去实现接口 (5)实现类必须去实现接口中的所有的方法 (6)接口中可以声明静态常量(代码中省略static和final) (7)接口与接口之间可以互相继承 1.1.9、【Java类中的元素】 一个完整的Java类包括以下元素: (1)属性:属性是用来定义对象的数据 (2)构造:构造是用来初始化对象 (3)静态区域块:块能够用来在类加载初始化之前执行操作,或在类实例化之前进行过程操作。 (4)内部类:内部类作为类的一个成员存在,能够访问外部类的属性和方法。 1.2.1、【Java运行jar架包】Dos命令下输入: java -jar *.jar 1

14、.2.2、【Java的动态联编JDK内部机制】 1.2.2.1【JVM中底层特殊类】 实质在JDK中有2个特殊而隐藏的类这两个类分别为: (1) 帮助你初始化类的方法(类的成员),类的静态成员等,初始化顺序按照源码的顺序从上往下从左往右。 (2)实例初始化方法/当对象创建时对象进行初始化(一但对象在堆区初始化时,在堆区开辟空间,最先调用的是方法为属性赋值,调用构造) 1.2.2.2【init的特点】 (1)构造重载时,每个构造对应一个 (2)如果显示或隐藏调用父类构造super()永远在其之前初始化,属性构造永远是在最后被调用的 (3)属性初始化顺序:按源码顺序,一个调用另一个 (这2个内置初

15、始化方法加是为了内部机制防止程序员调用改写该方法) 1.2.2.3【Java反编译命令】 Dos命令下输入:javap -c xxx.class 1.2.2.4【Java的编译原理】 Java源文件编译后生成.class字节编码文件,字节编码文件在由虚拟机解释器执行解析,此时虚拟机将每一行要执行的编码字节送给解释器,解释器将其编译成特定机器上的机器码,然后在特定的机器上运行 1.2.2.5【Java中JVM的工作原理】类加载器把一个类装入Java虚拟机需要经过三个步骤来完成:装载、链接、初始化 (1)装载:Java虚拟机使用类装载器定位找到相应的.class文件(一个线性二进制数据流),将其传

16、入Java虚拟机中,紧接着虚拟机提取类中的信息(2)链接:是一个验证、准备、解析的过程、验证Java类中的语言包括属性方法等(3)初始化:这个过程初始化只能够有虚拟机来初始化,虚拟机调用动态联编和 1.2.3、【OOAD面向对象的十大原则】(1)不要重复自己(2)封装变化(3)开闭原则(4)单一职责(5)依赖注入(或倒置)(6)优先利用组合(少用继承)(7)里氏替代LSP(8)接口分离(9)针对接口编程,而不是针对实现(10)委托原则 1.2.4、【Java异常处理】 1.2.4.1【Java异常的分类】 在java中异常提供了2个异常接口分别为: Exception和RuntimeExcep

17、tion 1.2.4.2【Java异常的抛出】 异常抛出通常是指方法中或过程中不直接捕获而是由程序的入口最终端进行异常捕获、或者不可预测发生的异常才使用关键字进行声明抛出,关键字如下: (1)throw:在(方法里面)执行出异常对象,使用new创建异常对象。 (2)throws:声明该方法要抛出的异常,代码如下: public void 方法名() throws 1.2.4.3【Java异常的捕获】在开发中为了程序维护和调试通常,对过程或方法进行异常捕获,主要用以下方式捕获异常:try 代码块 catch(Exception e)异常区域final可有可无 1.2.5、【Java数据集合框架】

18、 1.2.5.1【数据集合框架的作用】 (1)可以存放多个数据或对象 (2)数据可以定长 (3)数据可以临时存储 1.2.5.1【数据集合框架的组成】 (1)数据集合组要由:接口、具体类、数据结构算法 (2)集合框架结构图: 1.2.5.2【数据集合框架的分类及次序】 (1)集合框架最顶层:Collection 接口 本身无序(可以重复) (2)框架分3个类别:List、Set、Map Queue队列List和Set去继承Collection接口,而Map是Collection接口的一部分 (3)List可以放重复数据/并且是有序 (3)Set不允许放重复数据/并且是无序的 1.2.5.3【判

19、断数据集合或2个对象是否相同】 判断2个对象是否相同需要遵循以下条件: (1)equals返回值必须为true (2)Hashcode必须相同要同时满足2个条件 (3)实现方式:在对象类中重写equals和Hashcode方法 1.2.5.4【数据集合零散知识点】 (1)Map的存放数据形式是以: Key键值对 Value值 (2)Iterator接口:ListIterator去实现Iterator接口迭代器遍历数组所有的集合都可以用 (3)迭代方式: Iterator a2=a1.iterator();/迭代List取数据 while(a2.hasNext()/循环去数据 String te

20、mps=(String)a2.next(); (4)ArrayList:存储数据是以数组形式的连续存放的/从性能上讲,添加数据快,取数据快。(5)LinkedList:存储数据是以链表结构存在的/删除时效率高/在某个位置插入数据效率高(6)HashSet:哈希表,无序取数据(LinkedHashSet)有序(7)TreeSet:不能直接存放对象(如果放对象编译通过运行报错:)java.lang.ClassCastException:org.roger.set.Object cannot be cast to java.lang.Comparable 不能将String类型进行排序【解决Tree

21、Set报错方案】 必须让自定义类去实现Comparable接口(排序接口)并且实现接口中的方法CompareTo()方法Comparable接口中的方法:public int compareTo(Object o) return 0; TreeSet会自动调用compareTo()方法,判断是否为0排序升序 (8)HashMap用的是equals比较put方法/继承AbstractMap(抽象)类去实现Map(接口),具有不同步的不安全的 conllections工具才具有安全性 HashMap 内部允许key和value有null值,会从新计算哈希值不会过期 (9)WeakHashMap/k

22、ey长时间没有被外部引用时候会被回收 1.2.6、【Java同步关键锁】只需记住一个单词:synchronized 同步的安全的 1.2.7、【Java中的JDBC】 1.2.7.1【数据集合零散知识点】Java中访问数据库有两种方式分别为:(1)JDBCODBC(桥连接)(2)JDBC(直连接) 1.2.7.2【JDBC连接特殊对象】(1)DriverManager类:管理相应的JDBC驱动(2)Connection接口:负责连接数据库并担任传送数据任务(3)Statement接口:负责执行SQL语句(4)ResultSet接口:负责保存和处理Statement执行后产生的查询结果(5)Pr

23、eparedStatement接口:暂且过时 1.2.7.3【JDBC访问数据库的步骤】(1)第一步:加载驱动 Class.formName(“sun.jdbc.odbc.JdbcOdbcDriver”);/创建驱动对象实质加载驱动类 (2)第二步:获取链接 通过DriverManager类的getConnection()方法获取链接对象(Connection) (3)JDBC完整链接方式及代码 Class.formName(“com.mysql.jdbc.Driver”); Connection con=DriverManager.getConnection(“jdbc.odbc:数据源”,

24、”用户名”,”密码”); 1.2.7.4【JDBC实现(曾、删、改、差)】 (1)【查询】 Statement st=null; Connection con=null; ResultSet rs=null; st=con.createStatement();/创建Statement对象 rs=st.executeQuery(“SQL语句”); while(rs.next() /rs.get数据类型(“表列名”) rs.getInteger(“列名”); (2)JDBC数据库执行语句种类 A、int executeUpdate(String sql);/可以执行: 新增、删除、更新、返回值是执

25、行该操作的影响行数 B、boolean execute(String sql);可以执行任意sql查询语句,然后获取一个布尔值,表示是否返回ResultSet 1.2.7.5【PreparedStatement与Statement的区别】 (1)PreparedStatement接口继承Statement (2)PreparedStatement不支持占位符但是安全性能高比Statement灵活代码的可读性更强,而Statement支持占位符 (3)PreparedStatement是预编译的调用方式的性能更高(因为做同一个语句时是不需要编译的),PreparedStatement提高了安全性

26、能。 1.2.8、【Java中IO数据流和XML】 1.2.8.1【XML介绍】 1.2.8.1.1【XML的概念】 (1)XML是可扩展的标记语言 (2)SGML分为:HTML预定义标签-XML为自定义标签 1.2.8.1.2【XML和HTML之间的作用】 (1)HTML是用来显示数据的 (2)XML是用来描述数据的 (3)XML编码:GB2312 1.2.8.1.3【XML的声明规范】 (1)XML头部声明规则: (2)XML的注释规则: (3)DTD可有可无 (4)符合良构(well-form) (5)每一个XML必须有一个根元素,有且只有一个/最外面一个标签 (6)每一个标签必须有开始

27、和结束标签 (7)每个标签或空标签必须以“开始以结束” (8)XML严格区分大小写 (9)同一个标签的属性名不能够相同 (10)XML节点必须正确嵌套 1.2.8.1.4【DOM解析XML】 /创建获取DOM解析器的工厂实例对象DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();/获得dom工厂解析器Javax.xml.parsers.DocumentBuilder db=dbf.newDocumentBuilder();/获取XML文档,得到一个DOM树Document doc=db.parse(file.xml);

28、/获取某一个节点的信息NodeList nList=doc.getElementsByTagName(“attributeName”);/循环获取内容for(int i=0;inList.getLength();i+)Node valueName=(Element)nList.item(i);Element element=(Element)valueName;String value=element.getAttribute(“id”);/获取元素节点的数据/获取XML节点的数据for(Node node=valueName.getFirstChild();node!=null;node=n

29、ode.getNextSibling()if(node.getNodeType()=node.ELEMENT_NODE) String name=node.getNodeName(); String nextName=node.getFirstChild().getNodeValue(); 1.2.8.2【Java IO流】 1.2.8.2.1【字符流和字节流】 Java中的流主要分为两种流:(1)【字符流】因为文件编码的不同,而有了对字符进行高效操作的字符流对象。(原理:其实就是基于字节流读取字节时,去查询指定的码表) 1.2.8.2.2【字符流和字节流的区别】 (1)字节流读取的时候,读到一个字节就返回一个字节。字节流使用了字节流读取到一个或多个个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时,先查询指定的编码表,将查询到的字符返回。(2)字节流可以处理所有类型数据,儿字符流只能处理字符数据 (结论:只要是处理纯文本数据,就要优先考虑使用字符流,除外的都用字节流) 1.2.8.2.3【IO流具备的2大功能】 (1)IO流具有,读取流、和写入流两种方式

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2