J2EE基礎(chǔ)知識(shí)_第1頁(yè)
J2EE基礎(chǔ)知識(shí)_第2頁(yè)
J2EE基礎(chǔ)知識(shí)_第3頁(yè)
J2EE基礎(chǔ)知識(shí)_第4頁(yè)
J2EE基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、J2SE簡(jiǎn)介 JAVA初步 面向?qū)ο?常用接口/類(lèi) 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與java體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Java基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組 Java編寫(xiě)習(xí)慣 1.機(jī)器語(yǔ)言 2.匯編 3.高級(jí)語(yǔ)言:結(jié)構(gòu)化、面向?qū)ο?4. 面向用戶(hù)語(yǔ)言(智能編程)?所見(jiàn)即所得(圖 形化)?SQL? 5.自然語(yǔ)言? 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與java體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Java基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組 Java編寫(xiě)

2、習(xí)慣 95年,Sun發(fā)布JDK1.0 98年,JDK1.2,更名為Java2 后續(xù)JDK1.3、1.4、JDK1.5,更名為Java 5.0 (最 新為JDK JDK 7 7) j2se java web j2eej2me移動(dòng)增值 JAVA能開(kāi)發(fā)那些類(lèi)型的程序? Software Devleopment Kit (軟件開(kāi)發(fā) 包) Java Runtime Environment (Java運(yùn)行環(huán) 境) 開(kāi)發(fā)需要JDK 用戶(hù)只需JRE 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與java體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Jav

3、a基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組 Java編寫(xiě)習(xí)慣 Java兩種核心機(jī)制 Java虛擬機(jī)(Java Virtual Machine) 垃圾收集機(jī)制(Garbage collection) 源程序源程序 (*.java文件)文件) 字節(jié)碼字節(jié)碼 (*.class文件)文件) Java編譯器編譯器 類(lèi)裝載器類(lèi)裝載器 Class Loader 字節(jié)碼校驗(yàn)器字節(jié)碼校驗(yàn)器 byte verifier 解釋器解釋器 interpretor 系統(tǒng)平臺(tái)系統(tǒng)平臺(tái) Java虛擬機(jī)可以理解成一個(gè)以字節(jié)碼為機(jī)器指令的 CPU。 對(duì)于不同的運(yùn)行平臺(tái),有不同的虛擬機(jī)。 Java 虛擬機(jī)機(jī)制屏蔽了底層運(yùn)行平臺(tái)的差別,實(shí)現(xiàn)了“一次

4、編譯,隨處運(yùn) 行”。 UNIX JVM for UNIX Windows JVM for Windows Other Platform JVM for Other *.java*.class 編譯編譯執(zhí)行執(zhí)行 garbage collector 不再使用的內(nèi)存空間應(yīng)回收垃圾收集。 在C/C+ 等語(yǔ)言中,由程序員負(fù)責(zé)回收無(wú)用內(nèi)存。 Java語(yǔ)言消除了程序員回收無(wú)用內(nèi)存空間的責(zé)任; 它提供一種系統(tǒng)級(jí)線程跟蹤存儲(chǔ)空間的分配情況。 并在JVM的空閑時(shí),檢查并釋放那些可被釋放的存 儲(chǔ)器空間。 垃圾收集在Java程序運(yùn)行過(guò)程中自動(dòng)進(jìn)行,程序員 無(wú)法精確控制和干預(yù)。 硬盤(pán) 程序 內(nèi)存 代碼 操作系統(tǒng) 代碼

5、1:Load到內(nèi)存區(qū) 2:找到main方法開(kāi)始執(zhí)行 heap stack data segment code segment 3:執(zhí)行過(guò)程中的內(nèi)存管理 存放代碼 靜態(tài)變量 字符串常量 局部變量 new出來(lái)的東 西 一種面向?qū)ο蟮恼Z(yǔ)言。 一種平臺(tái)無(wú)關(guān)的語(yǔ)言,提供程序運(yùn)行的解釋環(huán)境。 一種健壯的語(yǔ)言,吸收了C/C+ 語(yǔ)言的優(yōu)點(diǎn),但 去掉了其影響程序健壯性的部分(如:指針、內(nèi)存 的申請(qǐng)與釋放等)。 1.平臺(tái)無(wú)關(guān)性 平臺(tái)無(wú)關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的 Java接口之間。使用Java編寫(xiě)的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類(lèi)型與 機(jī)器無(wú)

6、關(guān),Java虛擬機(jī) (Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提 供于不同平臺(tái)的接口的。 2.安全性 Java的編程類(lèi)似C+,學(xué)習(xí)過(guò)C+的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C+的指針對(duì)存儲(chǔ)器地 址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。Java對(duì)程序 提供了安全管理器,防止程序的非法訪問(wèn)。 3.面向?qū)ο?Java吸取了C+面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于類(lèi)中,利用類(lèi)的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維 護(hù)性。類(lèi)的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過(guò)上述特性

7、反復(fù)利 用。程序員只需把主要精力用在類(lèi)和接口的設(shè)計(jì)和應(yīng)用上。Java提供了眾多的一般對(duì)象的類(lèi),通過(guò)繼承 即可使用父類(lèi)的方法。在Java中,類(lèi)的繼承關(guān)系是單一的非多重的,一個(gè)子類(lèi)只有一個(gè)父類(lèi),子類(lèi)的父 類(lèi)又有一個(gè)父類(lèi)。Java提供的Object類(lèi)及其子類(lèi)的繼承關(guān)系如同一棵倒立的樹(shù)形,根類(lèi)為Object類(lèi), Object類(lèi)功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類(lèi)。 4.分布式 Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得 程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。 5.健壯性 Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類(lèi)型檢查幫助檢

8、查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。Java自己 操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大 提高了開(kāi)發(fā)Java應(yīng)用程序的周期。并且Java還提供了Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、Byte code校驗(yàn)等功能。 效率(運(yùn)行速度) 內(nèi)存操作限制(指針) 多態(tài)在運(yùn)行時(shí)實(shí)現(xiàn) 平臺(tái)無(wú)關(guān)性(不直接調(diào)用操作系統(tǒng)) 逆向編譯 線程調(diào)度 可移植性帶來(lái)的線程調(diào)度不夠精細(xì) 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與java體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Java基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組

9、Java編寫(xiě)習(xí)慣 配置Java開(kāi)發(fā)環(huán)境步驟(WindowsXP) 下載并安裝最新版本的J2SDK。 設(shè)置 Windows 環(huán)境變量。PATH/CLASSPATHPATH/CLASSPATH 選擇合適的文本編輯器或使用集成開(kāi)發(fā)環(huán)境。 下載 http:/ 安裝 配置 path class A 編譯運(yùn)行 編譯命令:Javac Test.java 編譯通過(guò)后運(yùn)行:java Test(不加.class) 為便于管理大型軟件系統(tǒng)中數(shù)目眾多的類(lèi),解決類(lèi) 的命名沖突問(wèn)題,Java引入包(package)機(jī)制, 提供類(lèi)的多重類(lèi)命名空間。打包語(yǔ)句在源文件開(kāi)頭 class體之外 ,語(yǔ)句格式為: package pk

10、g1.pkg2.pkg3; java io lang System String Object util 如果將一個(gè)類(lèi)打包,則使用該類(lèi)時(shí),必須使用該類(lèi)的全 名(例如:com.sxt.MyClass),Java編譯器才會(huì)在找 到該類(lèi)。 也可以使用 import 在文件的開(kāi)頭引入要使用到的類(lèi); 例如: 可以不需要用import語(yǔ)句直接使用 java.lang 包中的 類(lèi)。 import com.sxt.MyClass; import java.util.*;/引入引入java.util包中所有的類(lèi)包中所有的類(lèi) . . . MyClass myClass = new MyClass(); /可以直接

11、使用類(lèi)名可以直接使用類(lèi)名 . . . java.lang包含一些Java語(yǔ)言的核心類(lèi),如String、 Math、Integer、System和Thread,提供常用功 能。 java.awt包含了構(gòu)成抽象窗口工具集(abstract window toolkits)的多個(gè)類(lèi),這些類(lèi)被用來(lái)構(gòu)建 和管理應(yīng)用程序的圖形用戶(hù)界面(GUI)。 包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類(lèi)。 java.io包含能提供多種輸入/輸出功能的類(lèi)。 java.util包含一些實(shí)用工具類(lèi),如定義系統(tǒng)特性、 使用與日期日歷相關(guān)的函數(shù)。 jar -cvf test.jar 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與jav

12、a體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Java基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組 Java編寫(xiě)習(xí)慣 標(biāo)示符 對(duì)各種變量、方法和類(lèi)等要素命名時(shí)使用的字符序列 運(yùn)算符 算數(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、三目條件運(yùn)算符等 表達(dá)式與語(yǔ)句 符合一定語(yǔ)法規(guī)則的運(yùn)算符和操作數(shù)的序列即表達(dá)式 Java程序由一條條語(yǔ)句構(gòu)成 關(guān)鍵字 條件:if else switch 循環(huán):for while do break continue 方法 修飾符修飾符1 修飾符修飾符2 返回值類(lèi)型返回值類(lèi)型 方法名方法名(形式參數(shù)列表形式參數(shù)列表) Java語(yǔ)句;語(yǔ)句;

13、遞歸 基本數(shù)據(jù)類(lèi)型 四類(lèi)八種 引用數(shù)據(jù)類(lèi)型 類(lèi)型轉(zhuǎn)換 默認(rèn)基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換 強(qiáng)制類(lèi)型轉(zhuǎn)換 常量/變量 常量:基本數(shù)據(jù)類(lèi)型/”Strings”/final變量 變量 變量作用域 數(shù)組可以看成是多個(gè)相同類(lèi)型數(shù)據(jù)組合,對(duì)這些數(shù)據(jù)的統(tǒng)一管理。 數(shù)組變量屬引用類(lèi)型,數(shù)組也可以看成是對(duì)象,數(shù)組中的每個(gè)元素相當(dāng)于該對(duì)象的成員變量。 數(shù)組中的元素可以是任何數(shù)據(jù)類(lèi)型,包括基本類(lèi)型和引用類(lèi)型。 一維數(shù)組的聲明方式: type var; 或 type var; 創(chuàng)建數(shù)組對(duì)象,使用關(guān)鍵字 new 創(chuàng)建數(shù)組對(duì)象,格式為: 數(shù)組名 new 數(shù)組元素的類(lèi)型 數(shù)組元素的個(gè)數(shù) 數(shù)組初始化 動(dòng)態(tài)初始化 數(shù)組定義與為數(shù)組元素分配空

14、間和賦值的操作分開(kāi)進(jìn)行 靜態(tài)初始化 在定義數(shù)組的同時(shí)就為數(shù)組元素分配空間并賦值 數(shù)組元素的默認(rèn)初始化 數(shù)組是引用類(lèi)型,它的元素相當(dāng)于類(lèi)的成員變量,因此數(shù)組分配空間后,每個(gè)元素也被按照成員變量的規(guī) 則被隱式初始化, 數(shù)組元素的引用 定義并用運(yùn)算符new為之分配空間后后,才可以引用數(shù)組中的每個(gè)元素,數(shù)組元素的引用方式為: arrayNameindex 每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度 二維數(shù)組 數(shù)組的拷貝 java.lang.System類(lèi)public static void arraycopy (Object src,int srcPos,Object dest, int destP

15、os,int length) 計(jì)算機(jī)語(yǔ)言發(fā)展史及Java的歷史地位 Java發(fā)展史與java體系 Java程序運(yùn)行機(jī)制及優(yōu)劣勢(shì)分析 Java開(kāi)發(fā)環(huán)境配置 Java開(kāi)發(fā)、編譯、運(yùn)行、打包 Java基礎(chǔ)語(yǔ)法、數(shù)據(jù)類(lèi)型、數(shù)組 Java編寫(xiě)習(xí)慣 命名 類(lèi)名首字母大寫(xiě) MyClass 變量名方法名首字母小寫(xiě) myClass.myMethod() 駝峰標(biāo)識(shí) 格式 大括號(hào)對(duì)齊 縮進(jìn)tab/shift+tab 程序塊間空行(eg. for 語(yǔ)句) 并排語(yǔ)句加空格 運(yùn)算符兩側(cè)加空格(條件語(yǔ)句中可以減少) 前空格 成對(duì)編程 建行編程規(guī)范 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪

16、問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 面向?qū)ο缶幊陶Z(yǔ)言三大特征 隱藏/封裝 繼承 多態(tài) 類(lèi)與對(duì)象 對(duì)象用計(jì)算機(jī)語(yǔ)言對(duì)問(wèn)題域中事物的描述,對(duì)象通過(guò)“屬屬 性(性(attributeattribute)”和和“方法(方法(methodmethod)”來(lái)分別對(duì)應(yīng)事 物所具有的靜態(tài)屬性和動(dòng)態(tài)屬性。 類(lèi)是用于描述同一類(lèi)形的對(duì)象的一個(gè)抽象的概念,類(lèi)中定 義了這一類(lèi)對(duì)象所應(yīng)具有的靜態(tài)和動(dòng)態(tài)屬性。 類(lèi)可以看成一類(lèi)對(duì)象的模板,對(duì)象可以看成該類(lèi)的一個(gè)具 體實(shí)例。 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/

17、 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 用用 class 關(guān)鍵字定義一個(gè)類(lèi),例如:關(guān)鍵字定義一個(gè)類(lèi),例如: class Person /成員變量定義成員變量定義 private int id; private int age = 20; /方法定義方法定義 public int getAge() return age; public void setAge(int i) age = i; public int getId() return id; 類(lèi)的定義主要由兩方面組成類(lèi)的定義主要由兩方面組成 成員變量和方法。成員變量和方法。 聲明成員變量的格式為:聲明成員變量的格式為:

18、type =defaultValue ; 例如:例如: private int id; private int age = 20; 聲明方法的格式為:聲明方法的格式為: () 例如:例如: public int getAge() return age; 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 必須使用 new 關(guān)鍵字創(chuàng)建對(duì)象(構(gòu)造方法) Person person= newnew Person (); 使用對(duì)象(引用) . . 成員變量來(lái)引用對(duì)象的成員 變量。 person

19、.age 使用對(duì)象(引用) . . 方法(參數(shù)列表)來(lái)調(diào)用對(duì) 象的方法。 person. setAge(23) 同一類(lèi)的每個(gè)對(duì)象有不同的成員變量存儲(chǔ)空間。 同一類(lèi)的每個(gè)對(duì)象共享該類(lèi)的方法。 public class Person int id; int age; Person(int n,int i) id = n; age = i; public class Test public static void main(String args) Person tom = new Person(1,25); Person john = new Person(2,27); Person() id =

20、 0; age = 20; Person(int i) id = 0; age = i; Person(int n,int i) id = n; age = i; 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 方法的方法的重載重載是指一個(gè)類(lèi)中可以定義有相同的名字,是指一個(gè)類(lèi)中可以定義有相同的名字, 但參數(shù)不同的多個(gè)方法。但參數(shù)不同的多個(gè)方法。 調(diào)用時(shí),會(huì)根據(jù)不同的調(diào)用時(shí),會(huì)根據(jù)不同的 參數(shù)表選擇對(duì)應(yīng)的方法。參數(shù)表選擇對(duì)應(yīng)的方法。 例:在例:在Person類(lèi)中存在如下方法類(lèi)中存在如

21、下方法 void info() System.out.println(My id is +id); void info(String t) System.out.println(t+ +id+ +age); 調(diào)用方法 (); (hello); 與普通方法一樣,構(gòu)造方法也可以重載 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 繼承 Java 中使用 extends 關(guān)鍵字實(shí)現(xiàn)類(lèi)的繼承機(jī)制 通過(guò)繼承,子類(lèi)自動(dòng)擁有了基類(lèi)(superclass)的所有成員(成員變

22、量和方法)。 Java只支持單繼承,不允許多繼承: 一個(gè)子類(lèi)只能有一個(gè)基類(lèi) 一個(gè)基類(lèi)可以派生出多個(gè)子類(lèi) 重寫(xiě) 在子類(lèi)中可以根據(jù)需要對(duì)從基類(lèi)中繼承來(lái)的方法進(jìn)行重寫(xiě)。 重寫(xiě)方法必須和被重寫(xiě)方法具有相同方法名稱(chēng)、參數(shù)列表和返回類(lèi)型。 重寫(xiě)方法不能使用比被重寫(xiě)方法更嚴(yán)格的訪問(wèn)權(quán)限。 繼承中的構(gòu)造方法 子類(lèi)的構(gòu)造的過(guò)程中必須調(diào)用其基類(lèi)的構(gòu)造方法。 子類(lèi)可以在自己的構(gòu)造方法中使用super(argument_list)調(diào)用基類(lèi)的構(gòu)造方法。 使用this(agument list)調(diào)用本類(lèi)另外的構(gòu)造方法 如果用super,必須寫(xiě)在方法的第一句 如果子類(lèi)的構(gòu)造方法中沒(méi)有顯式地調(diào)用基類(lèi)構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用基

23、類(lèi)無(wú)參數(shù) 的構(gòu)造方法。 如果子類(lèi)構(gòu)造方法中既沒(méi)有顯式調(diào)用基類(lèi)構(gòu)造方法,而基類(lèi)中又沒(méi)有無(wú)參的構(gòu)造方法, 則編譯出錯(cuò)。 this 關(guān)鍵字 在類(lèi)的方法定義中使用的 this 關(guān)鍵字代表使用該方法的對(duì)象的引用。 當(dāng)必須指出當(dāng)前使用方法的對(duì)象是誰(shuí)時(shí)要使用this。 有時(shí)使用this可以處理方法中成員變量和參數(shù)重名的情況。 super 關(guān)鍵字 在Java類(lèi)中使用super來(lái)引用基類(lèi)的成分 static 關(guān)鍵字 在類(lèi)中,用static聲明的成員變量成員變量為靜態(tài)成員變量,它為該類(lèi)的公用變量, 在第一次使用時(shí)被初始化,對(duì)于該類(lèi)的所以對(duì)象來(lái)說(shuō),static成員變量只 有一份。 用static聲明的方法為靜態(tài)方法

24、靜態(tài)方法,在調(diào)用該方法時(shí),不會(huì)將對(duì)象的引用傳 遞給它,所以在static方法中不可訪問(wèn)非static的成員。 可以通過(guò)對(duì)象引用或類(lèi)名(不需要實(shí)例化)訪問(wèn)靜態(tài)成員。 this可以看作是一個(gè)類(lèi)中的變量,它的值是當(dāng)前對(duì)象的引用 (static class) 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 Java權(quán)限修飾符 public protected private 置于類(lèi)的成 員定義前,用來(lái)限定其他對(duì)象對(duì)該類(lèi)對(duì)象成員的訪問(wèn)權(quán) 限。 對(duì)于class的權(quán)限修飾只可以用 public

25、和 default。 (inner class除外) public類(lèi)可以在任意地方被訪問(wèn) default類(lèi)只可以被同一個(gè)包內(nèi)部的類(lèi)訪問(wèn) 修飾符修飾符類(lèi)內(nèi)部類(lèi)內(nèi)部同一個(gè)包同一個(gè)包子類(lèi)子類(lèi)任何地方任何地方 privateYes default|packageYesYes protectedYesYesYes publicYesYesYesYes 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 一個(gè)基類(lèi)的引用類(lèi)型變量可以“指向”其子類(lèi)的對(duì)象。 一個(gè)基類(lèi)的引用不可以訪問(wèn)其子類(lèi)對(duì)象新增加的成

26、員 (屬性和方法)。 可以使用 引用 變量 instanceof 類(lèi)名 來(lái)判斷該引用型 變量所所“指向指向”的對(duì)象的對(duì)象是否屬于該類(lèi)或該類(lèi)的子類(lèi)。 子類(lèi)的對(duì)象可以當(dāng)作基類(lèi)的對(duì)象來(lái)使用稱(chēng)作向上轉(zhuǎn)型 (upcasting),反之稱(chēng)為向下轉(zhuǎn)型(downcasting) 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 動(dòng)態(tài)綁定是指 “在執(zhí)行期間 (而非編譯期) 判斷所引用對(duì)象 的實(shí)際類(lèi)型,根 據(jù)其實(shí)際的類(lèi)型 調(diào)用其相應(yīng)的方 法。 上面例子中,根 據(jù) Lady 對(duì)象的 成員變量 pet 所引

27、用的不同的 實(shí)際類(lèi)型而調(diào)用 相應(yīng)的 enjoy方 法 class Bird extends Animal private String featherColor; Bird(String n,String f) super(n); featherColor = f; public void enjoy() System.out.println(鳥(niǎo)叫聲?shū)B(niǎo)叫聲.); public class Test public static void main(String args) Lady l3 = new Lady (l3,new Bird(birdname,green); l3.myPetEnjoy

28、(); 多態(tài)的存在要有3個(gè)必要條件: 要有繼承,要有重寫(xiě),父類(lèi)引用指向子類(lèi)對(duì)象 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 ObjectObject類(lèi)類(lèi) ObjectObject類(lèi)是所有類(lèi)是所有JavaJava類(lèi)的根基類(lèi)類(lèi)的根基類(lèi) 如果在類(lèi)的聲明中未使用如果在類(lèi)的聲明中未使用extendsextends關(guān)鍵字指明其基類(lèi),則默認(rèn)基類(lèi)為關(guān)鍵字指明其基類(lèi),則默認(rèn)基類(lèi)為ObjectObject類(lèi)類(lèi) public class Person public class Person 等價(jià)于:

29、等價(jià)于:public class Person extends Object public class Person extends Object ObjectObject的方法的方法 toStringtoString方法方法 描述當(dāng)前對(duì)象的有關(guān)信息。 在進(jìn)行String與其它類(lèi)型數(shù)據(jù)的連接操作時(shí)(如: System.out.println(“info”+person),將自動(dòng)調(diào)用該對(duì)象類(lèi)的 toString()方法 可以根據(jù)需要在用戶(hù)自定義類(lèi)型中重寫(xiě)toString()方法 equals方法 提供定義對(duì)象是否“相等”的邏輯。 Object 的 equals 方法 定義為:x.equals (

30、 y ) 當(dāng) x 和 y是同一個(gè)對(duì)象的應(yīng)用時(shí)返回 true 否則返回 false。 J2SDK提供的一些類(lèi),如String,Date等,重寫(xiě)了Object的equals方法,調(diào)用這些類(lèi) 的equals方法, x.equals (y) ,當(dāng)x和y所引用的對(duì)象是同一類(lèi)對(duì)象且屬性?xún)?nèi)容相等時(shí) (并不一定是相同對(duì)象),返回 true 否則返回 false。 可以根據(jù)需要在用戶(hù)自定義類(lèi)型中重寫(xiě)equals方法。 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 final的成員變量的值不能夠被改

31、變 final的方法不能夠被重寫(xiě) final的類(lèi)不能夠被繼承 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 用abstract關(guān)鍵字來(lái)修飾一個(gè)類(lèi)時(shí),這個(gè)類(lèi)叫做抽 象類(lèi);用abstract來(lái)修飾一個(gè)方法時(shí),該方法叫做 抽象方法。 含有抽象方法的類(lèi)必須被聲明為抽象類(lèi),抽象類(lèi)必 須被繼承,抽象方法必須被重寫(xiě)。如果重寫(xiě)不了, 應(yīng)該聲明自己為抽象。 抽象類(lèi)不能被實(shí)例化。 抽象方法只需聲明,而不需實(shí)現(xiàn)。 abstract class Animal private String name; A

32、nimal(String name) = name; public abstract void enjoy(); class Cat extends Animal private String eyesColor; Cat(String n,String c) super(n); eyesColor = c; public void enjoy() System.out.println (貓叫聲貓叫聲.); 面向?qū)ο?簡(jiǎn)介 類(lèi)的定義 對(duì)象的創(chuàng) 建和使用 方法重載 繼承與方 法重寫(xiě) 訪問(wèn)控制 對(duì)象轉(zhuǎn)型 動(dòng)態(tài)綁定/ 多態(tài) Object類(lèi) Fanail關(guān) 鍵字 抽象類(lèi)接口 接口(

33、interface)是抽象方法和常量值的定義的集 合。 從本質(zhì)上講,接口是一種特殊的抽象類(lèi),這種抽象 類(lèi)中只包含常量和方法的定義,而沒(méi)有變量和方法 的實(shí)現(xiàn)。 接口定義舉例: public interface Runner public static final int id = 1; public void start(); public void run(); public void stop(); 接口可以多重實(shí)現(xiàn); 接口中聲明的屬性默認(rèn)為 public static final 的; 也只能是 public static final 的; 接口中只能定義抽象方法,而且這些方法默認(rèn)為 pu

34、blic的、也只能是public的; 接口可以繼承其它的接口,并添加新的屬性和抽象 方法。 多個(gè)無(wú)關(guān)的類(lèi)可以實(shí)現(xiàn)同一個(gè)接口。 一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)無(wú)關(guān)的接口。 與繼承關(guān)系類(lèi)似,接口與實(shí)現(xiàn)類(lèi)之間存在多態(tài)性。 定義Java類(lèi)的語(yǔ)法格式: class extends implements ,* * interface Singer public void sing(); public void sleep(); class Student implements Singer private String name; Student(String name) = name; publ

35、ic void study() System.out.println(studying); public String getName()return name; public void sing() System.out.println(student is singing); public void sleep() System.out.println(student is sleeping); interface Singer public void sing(); public void sleep(); interface Painter public void paint(); p

36、ublic void eat(); class Student implements Singer private String name; Student(String name) = name; public void study()System.out.println(studying); public String getName()return name; public void sing() System.out.println (student is singing); public void sleep() System.out.println (stude

37、nt is sleeping); class Teacher extends Object implements Singer,Painter private String name; public String getString() return name; Teacher(String name) = name; public void teach()System.out.println(teaching); public void sing()System.out.println (teacher is singing); public void sleep()Sys

38、tem.out.println (teacher is sleeping); public void paint()System.out.println (teacher is painting); public void eat()System.out.println (teacher is eating); public class Test public static void main(String args) Singer s1 = new Student(le); s1.sing(); s1.sleep(); Singer s2 = new Teacher(steven); s2.

39、sing(); s2.sleep(); Painter p1 = (Painter)s2;/也可以當(dāng)作也可以當(dāng)作Painter來(lái)看來(lái)看 p1.paint(); p1.eat(); 輸出結(jié)果:輸出結(jié)果: student is singing student is sleeping teacher is singing teacher is sleeping teacher is painting teacher is eating public class Test public static void main(String args) int a; a = new int3; a0 = 3;

40、 a1 = 9; a2 = 8; Date days; days = new Date3; days0 = new Date(1, 4, 2004); days1 = new Date(2, 4, 2004); days2 = new Date(3, 4, 2004); class Date int year,month,day; Date(int y, int m, int d) year = y; month = m; day = d; public class Test public static void main(String args) int a = new int 3, 9,

41、8 ; Date days = new Date(1, 4, 2004), new Date(2, 4, 2004), new Date(3, 4, 2004) ; class Date int year,month,day; Date(int y, int m, int d) year = y; month = m; day = d; int a = new int3; a0 = new int2; a1 = new int4; a2 = new int3 int t1 = new int4; /非法非法 靜態(tài)初始化:靜態(tài)初始化: int intA = 1,2,2,3,3,4,5; int

42、intB32 = 1,2,2,3,4,5;/非法非法 動(dòng)態(tài)初始化:動(dòng)態(tài)初始化: int a = new int35; int b = new int3 b0 = new int2; b1 = new int3; b2 = new int5; 異常處理字符串包裝類(lèi) MathFileEnum 容器IO流線程 java.lang.Throwable 程序中異常的來(lái)源 調(diào)用的方法可能拋出異常 自定義new一個(gè)異常并throws 異常的處理 在本方法中處理:trycatch() 扔給上級(jí):throws Tips:調(diào)用一個(gè)方法時(shí)注意它的聲明是否拋出了異常 Throwable Error eg.動(dòng)態(tài)鏈接 庫(kù)

43、連接失敗、 虛擬機(jī)錯(cuò)誤 Exception RuntimeException: 無(wú)需在程序中顯示地 catch或throws InterruptedException、 IOException etc.:必須在 程序中catch或者throws 異常處理字符串包裝類(lèi) MathFileEnum 容器IO流線程 Java.lang.String extends Object Implements Serializable,Comparable,CharSequenc e String創(chuàng)建 String s1 = “” 基本數(shù)據(jù)類(lèi)型-包裝類(lèi) int/long/byte/short/char/bool

44、ean/float/double Integer/Character/大寫(xiě)首字母 用途 需要傳入Objec作為參數(shù)、基本數(shù)據(jù)類(lèi)型需要作為普通 Object處理eg. hashCode() 靜態(tài)成員變量 MAX_VALUE、MINVALUE 靜態(tài)方法int parseInt(String) 屬性/方法定義類(lèi)似一般class 使用: MyColour m = MyColour.red MyColour0 ? 異常處理字符串包裝類(lèi) MathFileEnum 容器IO流線程 能裝其他對(duì)象的器具: 數(shù)組(容量受限、可以用于基礎(chǔ)數(shù)據(jù)類(lèi)型) Collection/Map (java.util.* 包中,容量

45、可以擴(kuò)展,只能添加引 用對(duì)象) Java Collections Framework 定義存取方法 Interface Collection 單個(gè)裝入 定義存儲(chǔ)方式 Interface Set 無(wú)序、不可重復(fù) Interface List 有序、可重復(fù) TreeSetHashSetLinkedList ArrayList 定義存儲(chǔ)方式 Interface Map 成對(duì)裝入:key-value AbstractMap HashMapTreeMap 容器的簡(jiǎn)單用法 add remove contains retainAll addAll 涉及到的相等判斷 比較時(shí)涉及的方法 Collection:e

46、quals i.hasNext();)對(duì)i.next()操作; 增強(qiáng)的for循環(huán) String s for(String ss: s) interface Set 沒(méi)有比Collection多出額外的方法 元素不重復(fù)且無(wú)序 HashSet TreeSet interface List 元素有序且可以重復(fù) 每個(gè)元素對(duì)應(yīng)一個(gè)整形序號(hào)記載位置,據(jù)此可存取元素 特有方法 Object get(int index) Object set(int index, Object element) 替換 返回舊元素 Void add(index, element)index后的元素向后挪一位 Object re

47、move(index) int indexOf(O) int lastIndexOf(O) java.util.Collections提供基于List的常用算法 Void sort(List) Void shuffle(List) Void reverse(List) Void fill(List, object) 填充 void copy(List, List) int binarySearch(List, Object) 先進(jìn)行sort排序 interface Map 成對(duì)存儲(chǔ),只可存儲(chǔ)對(duì)象 以鍵為索引,索引不可重復(fù) HashMap(Hash表)、TreaMap(二叉樹(shù)) 常用方法 Obj

48、ect put(Object key, Object value) Object get(key) Object remove(key) boolean containsKey(key),boolean containsValue(value) JDK1.5 支持自動(dòng)打包:基礎(chǔ)類(lèi)型作為Map中方法的參 數(shù),直接被打包為相應(yīng)的包裝類(lèi) add(“one”, 1)等價(jià)于add(“one”, new Integer(1) 如何選擇數(shù)據(jù)結(jié)構(gòu) Array讀快改慢讀取比較頻繁的數(shù)據(jù) Linked改快讀慢修改比較頻繁 Hash搜索極快,遍歷極慢 Tree插入/搜索都比較快,適合做索引 泛型 Generic A

49、PI中接口或類(lèi)后有/等形式即適用泛型 作用 實(shí)現(xiàn)類(lèi)型自動(dòng)檢查 集合中取出對(duì)象不需強(qiáng)制類(lèi)型轉(zhuǎn)換 自動(dòng)打包 異常處理字符串包裝類(lèi) MathFileEnum 容器IO流線程 java.io.* 包中定義了多個(gè)流類(lèi)型(類(lèi)或抽象類(lèi))來(lái)實(shí) 現(xiàn)輸入/輸出功能;可以從不同的角度對(duì)其進(jìn)行分類(lèi): 按數(shù)據(jù)流的方向不同可以分為輸入流和輸出流。(以程序 的角度來(lái)考慮) 按處理數(shù)據(jù)單位不同可以分為字節(jié)流和字符流。 按照功能不同可以分為節(jié)點(diǎn)流和處理流。 J2SDK 所提供的所有流類(lèi)型位于包java.io內(nèi)都分別 繼承自以下四種抽象流類(lèi)型。 字節(jié)流字節(jié)流字符流字符流 輸入流輸入流InputStreamReader 輸出流輸出

50、流OutputStream Writer 節(jié)點(diǎn)流和處理流 節(jié)點(diǎn)流為可以從一個(gè)特定的數(shù)據(jù)源(節(jié)點(diǎn))讀寫(xiě)數(shù)據(jù)(如: 文件,內(nèi)存) 文件流、字節(jié)/符數(shù)組流等 處理流是“套接”在已存在的流(節(jié)點(diǎn)流或處理流)之上, 通過(guò)對(duì)數(shù)據(jù)的處理為程序提供更為強(qiáng)大的讀寫(xiě)功能。 緩沖流、轉(zhuǎn)換流、打印流、對(duì)象流等 數(shù)據(jù)源數(shù)據(jù)源 程序程序 節(jié)點(diǎn)流節(jié)點(diǎn)流 數(shù)據(jù)源數(shù)據(jù)源 程序程序 處理流處理流 節(jié)點(diǎn)流類(lèi) 類(lèi)類(lèi) 型型 字字 符符 流流字字 節(jié)節(jié) 流流 File(文件)文件) FileReader FileWriter FileInputStream FileOutputStream Memory Array CharArrayR

51、eader CharArrayWriter ByteArrayInputStream ByteArrayOutputStream Memory String StringReader StringWriter Pipe(管道)管道) PipedReader PipedWriter PipedInputStream PipedOutputStream 處理流類(lèi) 處理類(lèi)型處理類(lèi)型 字字 符符 流流字字 節(jié)節(jié) 流流 Buffering BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream Filtering Fi

52、lterReader FilterWriter FilterInputStream FilterOutputStream Converting between bytes and character InputStreamReader OutputStreamWriter Object Serialization ObjectInputStream ObjectOutputStream Data conversion DataInputStream DataOutputStream CountingLineNumberReaderLineNumberInputStream Peeking ah

53、eadPusbackReaderPushbackInputStream PrintingPrintWriterPrintStream 四種基礎(chǔ)抽象流之:InputSteam 繼承自InputSteam的流用于向程序中輸入以字節(jié)(8bit)為單位 的數(shù)據(jù) 常用方法 int read() throws IOException /讀一個(gè)字節(jié)以整數(shù)的形式返回(0255),到輸入流的末尾返回-1 int read(byte buffer) throws IOException /讀多個(gè)字節(jié)并存儲(chǔ)到數(shù)組buffer,返回實(shí)際讀取的字節(jié)數(shù),讀取 前已到流末尾返回-1 int read(byte buffer

54、, int off, int len) throws IOException/讀取length個(gè)字節(jié)并存儲(chǔ)到一個(gè)字節(jié)數(shù)組buffer,從 off位置開(kāi)始存,最多l(xiāng)en,返回實(shí)際讀取的字節(jié)數(shù),如果讀取前以到 輸入流的末尾返回-1 void close() throws IOException/關(guān)閉流釋放內(nèi)存資源 四種基礎(chǔ)抽象流之:OutputSteam 繼承自O(shè)utputSteam的流用于程序中輸出以字節(jié)(8bit)為單位的 數(shù)據(jù) 常用方法 void write(int b) throws IOException/向輸出流中寫(xiě)入一個(gè)字 節(jié)數(shù)據(jù),該字節(jié)數(shù)據(jù)為參數(shù)b的低8位 void write(b

55、yte b) throws IOException/將一個(gè)字節(jié)類(lèi)型的數(shù) 組中的數(shù)據(jù)寫(xiě)入輸出流 void write(byte b, int off, int len) throws IOException/ 將一個(gè)字節(jié)類(lèi)型的數(shù)組中的從指定位置(off)開(kāi)始的len個(gè)字節(jié)寫(xiě) 入到輸出流 void close() throws IOException /關(guān)閉流釋放內(nèi)存資源 void flush() throws IOException/將輸出流中緩沖的數(shù)據(jù)全部寫(xiě) 出到目的地 四種基礎(chǔ)抽象流之:Reader 繼承自Reader的流都是向程序中輸入以字符(16bit)為單 位的數(shù)據(jù) 常用類(lèi) int r

56、ead() throws IOException int read(char cbuf) throws IOException int read(char cbuf, int off, int len) throws IOException void close() throws IOException 四種基礎(chǔ)抽象流之:Writer 繼承自Writer流都是程序中輸出以字符(16bit)為單位的數(shù)據(jù) 常用類(lèi) void write(int c) throws IOException void write(char cbuf) throws IOException void write(char

57、 cbuf, int offset, int length) throws IOException void write(String string) throws IOException void write(String string, int offset, int length) throws IOException void close() throws IOException void flush() throws IOException 對(duì)File的訪問(wèn) FileInputSteam FileOutPutSteam FileReader FileWriter 構(gòu)造函數(shù) 傳入的參數(shù)

58、常用String或者File 輸出流構(gòu)造時(shí)可增加第二個(gè)參數(shù)boolean來(lái)開(kāi)關(guān)是否是覆 蓋性輸出 構(gòu)造會(huì)拋異常,用try-catch 常用方法 讀寫(xiě)的時(shí)候也需要try-catch 直接讀寫(xiě)效率比較低,一般都用處理流包裝 緩沖流 “套接”在相應(yīng)的節(jié)點(diǎn)流之上,對(duì)讀寫(xiě)的數(shù)據(jù)提供緩沖區(qū),增 加了一些新方法 BufferedReader/BufferedWriter BufferedInputStream/BufferedOutStream 構(gòu)造函數(shù) 套接時(shí)一一對(duì)應(yīng) 緩沖區(qū)大小可以指定 常用方法 繼承自父類(lèi)常規(guī)方法 BufferedReader繼承的mark與reset方法 BufferedReader

59、新增readLine、BufferedWriter新增newLine 操作結(jié)束后記得close(輸出還應(yīng)先f(wàn)lush) 轉(zhuǎn)換流 用于將字節(jié)流轉(zhuǎn)換為字符流 InputStreamReader/OutputStreamReader 構(gòu)造函數(shù) 傳入InputStream/OutputStream類(lèi)型的參數(shù)(子類(lèi)) 可以傳入String charset指定轉(zhuǎn)換編碼所用字符集 常用方法 write時(shí)可以寫(xiě)任意形式的字符串而不做處理 close(對(duì)于套接的流,關(guān)閉最外層即可) 什么是字符集什么是字符集? ?什么是編碼什么是編碼? ? 字符字符(Character)(Character):是文字與符號(hào)的總稱(chēng)

60、,包括文字、圖形 符號(hào)、數(shù)學(xué)符號(hào)等。 字符集字符集(Charset)(Charset):就是一組抽象字符的集合。 字符集常常和一種具體的語(yǔ)言文字對(duì)應(yīng)起來(lái),該文字中的所 有字符或者大部分常用字符就構(gòu)成了該文字的字符集,比如 英文字符集。 一組有共同特征的字符也可以組成字符集,比如繁體漢字字 符集、日文漢字字符集。 編碼編碼(Encoding)(Encoding): 制定編碼首先要確定字符集,并將字符集內(nèi)的字符排序,然 后和二進(jìn)制數(shù)字對(duì)應(yīng)起來(lái)。根據(jù)字符集內(nèi)字符的多少,會(huì)確 定用幾個(gè)字節(jié)來(lái)編碼。 常用的字符集有哪些? ASCII American Standard Code for Informat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論