好文档 - 专业文书写作范文服务资料分享网站

Java完全自学手册(适合初学者的简易学习文档) - 华清远见

天下 分享 时间: 加入收藏 我要投稿 点赞

Java完全自学手册(适合初学者的简易学习文档)

近年来java初学者越来越多,但是相应的没有一个可供java初学的朋友一个免费的资料下载平台,华清远见对于这个问题,专门在华清远见的官网为大家设立了专门技术文章交流的平台供大家参考,我们也会随时分享含金量多的技术文章,

先为大家分享一个java自学手册看看,更多资料可以访问华清远见官网。

1.1、【Java基础知识复习(面向对象)】

1.1.1、【Java面向对象四个基本特点】 抽象、继承、多态、封装

1.1.1.1【抽象的概念】 抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象,可以是表示数据的VO对象或抽象类,也可以是表示一类行为的接口。有利于使用继承来构造类的体系,实现多态,使用模板和工厂模式方法来实现对业务过程的抽象。抽象是概念建模和业务流程建模很重要的工具,是面向对象体系的基石,而不是一堆杂乱、混乱、重复、散沙般的、关系错综复杂的类。 1.1.1.1.1【抽象的使用】

1.抽象在java中用关键字abstract表示 2.抽象abstract可定义在类class的前面、 如果定义类 为抽象、则表示此类为一个抽象类、 被抽象类所修饰的类类中的方法都是抽象方法 3.通常抽象类中的方法没有具体的实现

1.1.1.2【继承的概念】 是一种连结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表示共性的方法。 继承意味着能声明一个类型,而且能继承父类中的所有操作和数据,同事还有机会声明自己的新方法以改进、具体化、代替或者扩展父类中的方法 使用父类为应用领域建立层次模型,提供代码重用并允许定制

1.1.1.2.1【继承的使用】

1.继承在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、【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中的重写指的是出现在继承上,子类重写父类中的方法,当子类要修改父类中的某个方法时,就可以在子类中声明一个与父类同名、同参数并且同返回值类型的方法,这就是方法覆盖(重写父类中的方法) 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)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=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使用?=?号赋值,并不是每一次都创建一个新字符串,而是从?字符串实例池?中去查找字符串,查找到直接返回,未查询到就从新创建字符串实例。 String用new关键字创建字符串,则表示每一次都创建一个新的字符串。 1.1.5.6【String与StringBuffer】 String类是不可变的类,

即字符串一旦被初始化后就不能被更改,StringBuffer是可变字符串类,类似String 的字符串缓存区,可以修改字符串的值, 例如:String name=new String(?Hello? ); name+=?world?

; 这2句代码的过程是这样的:首先创建了

StringBuffer对象,然后用StringBuffer类的append()方法追加字符串?world? ,最后StringBuffer对象调用toString()方法合成字符串返回 1.1.5.7【StringBuffer与StringBuilder】 StringBuffer

是线程安全的字符串缓存区,StringBuilder非安全线程的。 1.1.5.8【Java语言值传递规则】 基本数据类型传递的是值,

引用类型数据传递的是引用虚拟地址。 1.1.6、【Java访问修饰符】

1.1.6.1【java继承中类的初始化顺序】 (1)继承关系中构造执行顺序:先父类后子类

(2)继承关系中初始化顺序:先初始化父类属性—>父类构造—>子类属性—>子类构造

(3)构造不能被继承所以不能被重写 1.1.6.2【final修饰符】

(1)final修饰属性:final修饰属性后,属性成为了常量,常量只要被赋值就不能被改变。 (2)final修饰方法:final修饰方法后就不能够被重写(override)但是可以被继承、最终方法。 3)final修饰类:final修饰类后,该类就不能够被继承,被final 所修饰的类被称为最终类,最终类反过来可以继承别人的类。 1.1.6、【Java逻辑运算符】

1.1.7、【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)接口中(不能有属性 ) (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.2.2、【Java的动态联编JDK内部机制】

1.2.2.1【JVM中底层特殊类】 实质在JDK中有2个特殊而隐藏的类这两个类分别为:

(1) 帮助你初始化类的方法(类的成员),类的静态成员等,初始化顺序按照源码的顺序从上往下从左往右。

(2)实例初始化方法//当对象创建时对象进行初始化(一但对象在堆区初始化时,在堆区开辟空间,最先调用的是方法为属性赋值,调用构造) 1.2.2.2【init的特点】

(1)构造重载时,每个构造对应一个 (2)如果显示或隐藏调用父类构造super()

永远在其之前初始化,属性构造永远是在最后被调用的 (3)属性初始化顺序:按源码顺序,一个 调用另一个

(这2个内臵初始化方法加<>

是为了内部机制防止程序员调用改写该方法) 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文件(一个线性二进制数据流),将其传入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和RuntimeException

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数据集合框架】 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【判断数据集合或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 temps=(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 类型进行排序

【解决TreeSet报错方案】

必须让[自定义类]去实现Comparable接口(排序接口)并且实现接口中的方法CompareTo()方法

Comparable接口中的方法:

public intcompareTo(Objecto){ return 0;} TreeSet会自动调用compareTo()方法,判断是否为0 排序升序

(8)HashMap用的是equals比较put方法//

继承AbstractMap(抽象)类去实现Map(接口),具有不同步的不安全的 conllections工具才具有安全性

HashMap 内部允许key和value有null值, 会从新计算哈希值[不会过期] (9)WeakHashMap//key

长时间没有被外部引用时候会被回收 1.2.6、【Java同步关键锁】

只需记住一个单词:synchronized 同步的安全的 1.2.7、【Java中的JDBC】

1.2.7.1【数据集合零散知识点】 Java中访问数据库有两种方式分别为: (1)JDBC—ODBC(桥连接) (2)JDBC(直连接)

1.2.7.2【JDBC连接特殊对象】

(1)DriverManager类:管理相应的JDBC驱动

(2)Connection接口:负责连接数据库并担任传送数据任务 (3)Statement接口:负责执行SQL语句

(4)ResultSet接口:负责保存和处理Statement执行后产生的查询结果 (5)PreparedStatement接口:暂且过时 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:数据源?,?用户名?,?密码? );

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、intexecuteUpdate(String sql);//可以执行:

新增、删除、更新、返回值是执行该操作的影响行数 B、boolean execute(String sql);可以执行任意sql 查询语句,然后获取一个布尔值,表示是否返回

ResultSet 1.2.7.5【PreparedStatement与Statement的区别】 (1)PreparedStatement接口继承Statement (2)PreparedStatement

不支持占位符但是安全性能高比Statement灵活代码的可读性更强,而Statement支持占位符 (3)PreparedStatement是预编译的[调用方式]的性能更高( 因为做同一个语句时是不需要编译的),PreparedStatement 提高了安全性能。

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必须有一个根元素,有且只有一个//最外面一个标签

Java完全自学手册(适合初学者的简易学习文档) - 华清远见

Java完全自学手册(适合初学者的简易学习文档)近年来java初学者越来越多,但是相应的没有一个可供java初学的朋友一个免费的资料下载平台,华清远见对于这个问题,专门在华清远见的官网为大家设立了专门技术文章交流的平台供大家参考,我们也会随时分享含金量多的技术文章,先为大家分享一个java自学手册看看,更多资料可以访问华清远见官网。1.1
推荐度:
点击下载文档文档为doc格式
5vn4c49lz503ypi6bk157e16g2f4sy00osa
领取福利

微信扫码领取福利

微信扫码分享