




已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1,Java面向?qū)ο蟪绦蛟O(shè)計(jì),第2章 Java程序語(yǔ)言基礎(chǔ),2,本章主要內(nèi)容,熟悉Java程序的組織形式 理解類、對(duì)象與成員的概念 掌握對(duì)象的創(chuàng)建與引用 熟悉訪問(wèn)修飾符和方法修飾符的使用 掌握J(rèn)ava支持的數(shù)據(jù)類型與操作符,3,Java程序的組織形式,基本要素 保留字:也叫關(guān)鍵字,有特定意義和用途,不能隨意使用。 class、 interface、 void、int、double、protected、 public、 private、 static、final、abstract、extends、implements、if、for、while、switch等。 標(biāo)識(shí)符:以字母、下劃線或美元符($)開(kāi)頭,由字母、數(shù)字、下劃線或美元符($)組成,區(qū)分大小寫。可用作變量名、方法名、接口名、類名等。 注意:盡量使用有意義的英文單詞進(jìn)行命名,并遵守相應(yīng)命名規(guī)范。,演示標(biāo)識(shí)符,變量名和方法名的命名規(guī)范:第一個(gè)單詞小寫,后面單詞首字母大寫。,4,Java程序的組織形式,基本要素(續(xù)) 單行注釋 System.out.println(“Hello!Welcome!”); /行末注釋 多行注釋 /* public void run ( ) */ 文檔注釋 可以使用javadoc工具生成HTML API文檔 /* * 方法的功能說(shuō)明 * param 參數(shù) * throws 異常 */,演示生成API文檔,5,Java程序的組織形式,程序結(jié)構(gòu)以“類”為基礎(chǔ),定義一個(gè)類時(shí)要使用“class”關(guān)鍵字。 一個(gè)源文件中可包含多個(gè)類,但只能有一個(gè)是公共類,并且該公共類的名稱要與文件名同名。,演示編譯含有多個(gè)類的源文件,例如:源程序A.java文件中含有如下代碼: public class A class B class C 編譯后,生成3個(gè)字節(jié)碼文件:A.class,B.class,C.class,類名的命名規(guī)范:首字母大寫,6,Java程序的組織形式,包的概念 包允許將類組合成較小的單元(類似文件夾)。 包的作用 有助于避免命名沖突。在使用類時(shí),類的名稱很難決定,有時(shí)在命名時(shí)不得以需要與其他類名同名。 包機(jī)制能夠在一定程度上設(shè)置其內(nèi)部的類、屬性和方法的對(duì)外可見(jiàn)度。 包的創(chuàng)建:package 包名; 包的導(dǎo)入:import 包名.類名;,演示創(chuàng)建與導(dǎo)入包,注意包名的命名規(guī)范:全部小寫,域名定義。,演示環(huán)境變量classpath,7,類與對(duì)象,萬(wàn)事萬(wàn)物皆對(duì)象。 面向?qū)ο蟮木幊蹋∣OP)思想實(shí)質(zhì)是使用計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)對(duì)事物的描述,盡可能反映出現(xiàn)實(shí)世界事物的本來(lái)面目。 類是對(duì)一類的事物描述,是抽象的、概念上的定義;對(duì)象是實(shí)際存在的該類事物的每個(gè)個(gè)體,也稱實(shí)例。 程序一般是依賴創(chuàng)建類的實(shí)例來(lái)驅(qū)動(dòng)運(yùn)行的。,8,類成員,類定義兩方面內(nèi)容: 類中封裝的數(shù)據(jù),叫做屬性或者成員變量; 類中封裝的操作數(shù)據(jù)的行為,叫做方法或者成員方法。 在實(shí)際問(wèn)題中,對(duì)實(shí)體類的抽象是最關(guān)鍵的一步,它決定了該系統(tǒng)是否能真實(shí)反映實(shí)際業(yè)務(wù)活動(dòng)。,9,類成員,【例2.3】創(chuàng)建一個(gè)計(jì)數(shù)器類,封裝計(jì)數(shù)數(shù)據(jù)及其各種操作方法。 public class Accumulator private int data; /private表示封裝data屬性,防止外界修改 public void add( ) /計(jì)數(shù)器計(jì)數(shù) data +; public void reset( ) /計(jì)數(shù)器清0 data = 0; public int getData( ) /返回計(jì)數(shù)器結(jié)果 return data; ,pubic static void main(String args) Accumulator acc = new Accumulator( ); acc.reset( ); acc.add( ); acc.add( ); System.out.println(acc.getData( ); ,10,信息的封裝,封裝是對(duì)對(duì)象的一種保護(hù)機(jī)制,使得它的屬性或方法不被外部的程序直接訪問(wèn)。 直接操作類內(nèi)部定義的屬性,會(huì)導(dǎo)致數(shù)據(jù)的錯(cuò)誤、混亂或安全性問(wèn)題。例如: public class Student public int age; public static void main(String args) Student stu = new Student(); stu.age = 1000; /不合理的設(shè)置 ,11,信息的封裝,通過(guò)將數(shù)據(jù)封裝、聲明為私有的(private),再提供一個(gè)或多個(gè)公開(kāi)的(public)方法實(shí)現(xiàn)對(duì)該屬性的操作,以實(shí)現(xiàn)下述目的: 隱藏一個(gè)類的實(shí)現(xiàn)細(xì)節(jié); 防止對(duì)封裝數(shù)據(jù)的未經(jīng)授權(quán)的訪問(wèn)。使用者只能通過(guò)事先定制好的方法來(lái)訪問(wèn)數(shù)據(jù),可以方便地加入控制邏輯,限制對(duì)屬性的不合理操作; 有利于保證數(shù)據(jù)的完整性; 便于修改,增強(qiáng)代碼的可維護(hù)性;,12,信息的封裝,public class Student private int age; public int getAge() return age; public void setAge(int vAge) age = vAge; ,public void setAge(int vAge) if(vAge 200 | vAge 0) System.out.println(“請(qǐng)輸入正確的年齡“); else age = vAge; ,13,對(duì)象的初始化與構(gòu)造方法,構(gòu)造方法是類中特殊的方法,該方法的作用是在對(duì)象實(shí)例化過(guò)程中,幫助完成對(duì)象的初始化工作。例如: MyClass mc = new MyClass( ); new關(guān)鍵字表示創(chuàng)建對(duì)象,同時(shí)調(diào)用構(gòu)造方法MyClass( )。 構(gòu)造方法是在類中定義的,并在對(duì)象被創(chuàng)建時(shí)所調(diào)用的方法,該方法的名稱與類名相同,不需要指定返回值,也不需要使用return返回。,14,對(duì)象的初始化與構(gòu)造方法,【例2.9】使用new關(guān)鍵字實(shí)例化對(duì)象。 public class MyClass private int i = 100; public void show( ) System.out.println(i); public static void main(String args) MyClass mc = new MyClass( ); mc.show( ); ,public class MyClass /編譯器自動(dòng)提供的默認(rèn)的無(wú)參構(gòu)造方法 MyClass( ) ,15,無(wú)參與有參構(gòu)造方法,【例2.10】調(diào)用無(wú)參與有參的構(gòu)造方法。 public class Constructor Constructor( ) System.out.println(“無(wú)參構(gòu)造方法被調(diào)用!“); Constructor(int n) System.out.println(“int參數(shù)的構(gòu)造方法被調(diào)用!“); Constructor(String message) System.out.println(“String參數(shù)的構(gòu)造方法被調(diào)用!“); ,public static void main(String args) ConstructorPara cp1 = new ConstructorPara( ); ConstructorPara cp2 = new ConstructorPara(12); ConstructorPara cp3 = new ConstructorPara(“Hello“); ,16,方法重載,發(fā)生在同一個(gè)類中 方法名稱相同 參數(shù)列表不同 返回類型可以相同或不同 構(gòu)造方法或成員方法均可發(fā)生重載【例2.4】,17,引用與對(duì)象,MyClass mc = new MyClass( ); 這條語(yǔ)句實(shí)際上完成了三件事情: (1)聲明了一個(gè)引用mc,該引用的類型為MyClass,將只能引用MyClass以及其子類的對(duì)象。 (2)利用MyClass( )構(gòu)造方法創(chuàng)建了一個(gè)MyClass對(duì)象。 (3)把創(chuàng)建的對(duì)象賦給mc引用。,mc=,this.i,0x1001,null,0x1001,this.show(),棧內(nèi)存,堆內(nèi)存,18,引用與對(duì)象this關(guān)鍵字,【例2.14】不同對(duì)象對(duì)引用的賦值。 public class Reference private String name; public Reference(String n) name = n; public void showName( ) System.out.println(name); ,public static void main(String args) Reference r1 = new Reference(“r1“); Reference r2 = new Reference(“r2“); r1.showName( ); r1 = r2; r1.showName( ); ,public Reference(String name) ,name = name;, = name;,19,引用相等與對(duì)象相等的判斷,【例 2.16】String對(duì)象相等的判斷 public class StringEquals public static void main(String args) String s1 = “Hello world“; String s2 = “Hello world“; String s3 = new String(“Hello world“); System.out.println(s1 = s2); System.out.println(s1 = s3); System.out.println(s1.equals(s3); ,20,訪問(wèn)修飾符,訪問(wèn)修飾符的作用是說(shuō)明被聲明的內(nèi)容(類、屬性、方法)的訪問(wèn)權(quán)限。 通過(guò)訪問(wèn)修飾符把類中將被其他類調(diào)用的內(nèi)容開(kāi)放出來(lái),而把不希望別人調(diào)用的內(nèi)容隱藏起來(lái)。 4種訪問(wèn)修飾符: public,private,protected,無(wú)修飾符,21,訪問(wèn)修飾符,演示訪問(wèn)修飾符,22,方法修飾符,方法修飾符為方法設(shè)置訪問(wèn)權(quán)限,包括: static final abstract,23,方法修飾符 static,關(guān)鍵字static可以用于修飾變量、方法、代碼塊。 使用static修飾的成員變量和方法,稱為靜態(tài)成員,也稱為類成員。靜態(tài)成員存儲(chǔ)于類的存儲(chǔ)區(qū),屬于整個(gè)類,不屬于一個(gè)具體的類對(duì)象,被所有該類的對(duì)象共享。因此在不同的類對(duì)象中訪問(wèn)靜態(tài)成員,訪問(wèn)的是同一個(gè)。 成員聲明為static后,無(wú)需創(chuàng)建該類的任何對(duì)象,直接通過(guò)類名稱來(lái)調(diào)用就可以訪問(wèn)。,演示static修飾符,24,方法修飾符 static,【例2.7】用static修飾變量、方法、代碼塊的綜合應(yīng)用。 public class StaticSample static int x = 3; static int y; static void display( ) System.out.println(“x = “ + x); System.out.println(“y = “ + y); static System.out.println(“static block“); y = x + 2; ,pubic static void main(String args) StaticSample.display( ); ,25,方法修飾符 static,【例2.11】static成員變量的初始化。 class ClassStatic public static int i = staticInitMethod( ); public static int staticInitMethod( ) System.out.println(“static成員變量被初始化“); return 12; ,pubic static void main(String args) System.out.println(“訪問(wèn)static成員變量i“); int a = ClassStatic.i; System.out.println(“創(chuàng)建對(duì)象“); ClassStatic si = new ClassStatic( ); ,26,方法修飾符 final,用final修飾的類不能被繼承。 用final修飾的變量,值不能被修改,即為常量。 用final修飾的方法不能被重寫。 如果對(duì)象已申明為final,對(duì)該對(duì)象的引用則不能更改,但它的屬性值可以更改。,常量的命名規(guī)范:所有字母均大寫。,27,方法修飾符 final,【例2.8】用final修飾常量PI,實(shí)現(xiàn)計(jì)算圓的面積。 public class Circle private final double PI = 3.14; private double radius; public void setRadius(double radius) this.radius = radius; public double area( ) return PI * this.radius * this.radius; ,28,基本數(shù)據(jù)類型,一個(gè)變量的數(shù)據(jù)類型決定了變量所能容納的數(shù)值和操作符。 Java是一種強(qiáng)類型語(yǔ)言,意味著每一個(gè)變量都有一種類型且每一種類型都是經(jīng)過(guò)嚴(yán)格定義的。 C與Java基本數(shù)據(jù)類型的對(duì)比,29,基本數(shù)據(jù)類型,演示基本數(shù)據(jù)類型,30,數(shù)據(jù)類型轉(zhuǎn)換,不同類型的數(shù)據(jù)進(jìn)行混合運(yùn)算時(shí),首先需要轉(zhuǎn)換為同一類型然后運(yùn)算。 自動(dòng)類型轉(zhuǎn)換:也稱放大轉(zhuǎn)換。 條件:兩種類型兼容,目標(biāo)類型大于源類型,布爾型與其他類型不兼容。 強(qiáng)制類型轉(zhuǎn)換:也稱縮小轉(zhuǎn)換。 條件:源類型大于其目標(biāo)類型,如float值賦給int類型變量值,此時(shí)需要顯式類型轉(zhuǎn)換,即 double d = 12.1 int i = (int)d;,演示數(shù)據(jù)類型轉(zhuǎn)換,31,包裝類,為了能將基本類型視為對(duì)象來(lái)處理,并能連接相關(guān)的方法,Java為每個(gè)基本數(shù)據(jù)類型都提供了包裝類。java.lang包中提供了每個(gè)基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類。,演示包裝類JDK1.5新特性,32,包裝類,【例2.18】實(shí)現(xiàn)基本數(shù)據(jù)類型和包裝類之間的轉(zhuǎn)換。 public class Convert public static void main(String args) int myInt = 12; Integer myInteger = new Integer (myInt); System.out.println(myIValue( ); ,33,操作符,演示操作符,34,操作符優(yōu)先級(jí),【例2.19
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 協(xié)商經(jīng)濟(jì)補(bǔ)償協(xié)議書(shū)
- 參股合作經(jīng)營(yíng)協(xié)議書(shū)
- 喝酒吵架調(diào)解協(xié)議書(shū)
- 臥室房租改造協(xié)議書(shū)
- 雙方合伙做飯協(xié)議書(shū)
- 醫(yī)院公司合作協(xié)議書(shū)
- 土壤污染處理協(xié)議書(shū)
- 口腔轉(zhuǎn)讓合同協(xié)議書(shū)
- 勞務(wù)公司班組協(xié)議書(shū)
- 冷鏈物流市場(chǎng)規(guī)模2025年擴(kuò)張趨勢(shì)與技術(shù)升級(jí)創(chuàng)新研究報(bào)告
- 剪映專業(yè)版教學(xué)課件
- 2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析
- 智能咖啡機(jī)行業(yè)營(yíng)銷策略方案
- 2024年部編版九年級(jí)語(yǔ)文上冊(cè)電子課本(高清版)
- 《魚(yú)紋話吉祥》 課件 2024-2025學(xué)年嶺南美版(2024) 初中美術(shù)七年級(jí)上冊(cè)
- 小米智能家居合同模板
- 工行個(gè)人房屋貸款協(xié)議模板
- 2024年江西省高考地理真題(原卷版)
- 小學(xué)勞動(dòng)教育一年級(jí)下冊(cè)第二單元第3課《削果皮》課件
- 企業(yè)申報(bào)材料審核表
- 《一元二次方程》復(fù)習(xí)2省公開(kāi)課獲獎(jiǎng)?wù)n件說(shuō)課比賽一等獎(jiǎng)?wù)n件
評(píng)論
0/150
提交評(píng)論