freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第二章類與對(duì)象的基本概念-閱讀頁(yè)

2024-09-21 08:44本頁(yè)面
  

【正文】 言程序設(shè)計(jì) 清華大學(xué) 鄭莉 67 ? 包的命名 – 每個(gè)包的名稱必須是“獨(dú)一無(wú)二”的 – Java中包名使用小寫(xiě)字母表示 – 命名方式建議 ? 將機(jī)構(gòu)的 Inter域名反序,作為包名的前導(dǎo) ? 若包名中有任何不可用于標(biāo)識(shí)符的字符,用下劃線替代 ? 若包名中的任何部分與關(guān)鍵字沖突,后綴下劃線 ? 若包名中的任何部分以數(shù)字或其他不能用作標(biāo)識(shí)符起始的字符開(kāi)頭,前綴下劃線 類的組織 —— 包的概念 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 68 ? 編譯單元與類空間 – 一個(gè) Java源代碼文件稱為一個(gè)編譯單元,由三部分組成 ? 所屬包的聲明(省略,則屬于默認(rèn)包) ? Import ( 引入)包的聲明,用于導(dǎo)入外部的類 ? 類和接口的聲明 – 一個(gè)編譯單元中只能有一個(gè) public類,該類名與文件名相同,編譯單元中的其他類往往是 public類的輔助類,經(jīng)過(guò)編譯,每個(gè)類都會(huì)產(chǎn)一個(gè) class文件 – 利用包來(lái)劃分名字空間,便可以避免類名沖突 類的組織 —— 包的概念 (續(xù) ) 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 69 ? 包的聲明 –命名的包( Named Packages) ?例如: package Mypackage。因此,要指定搜尋包的路徑,需設(shè)置環(huán)境變量 classpath 類的組織 —— 包的概念 (續(xù) ) 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 71 ? 引入包 – 為了使用其它包中所提供的類,需要使用import語(yǔ)句引入所需要的類 – Java編譯器為所有程序自動(dòng)引入包 – import語(yǔ)句的格式 import package1[.package2…]. (classname |*)。 private int radius。 } } 類成員的訪問(wèn)控制 (續(xù) ) —— 例 2_11 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 76 ? 再編譯 public class CircumferenceTester { public static void main(String args[]) { Circle c1 = new Circle()。 Circle c2 = new Circle()。 double circum1 = ()。 (Circle 1 has circumference + circum1)。 } } 類成員的訪問(wèn)控制 (續(xù) ) —— 例 2_11 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 77 ? 編譯時(shí)會(huì)提示出錯(cuò) 在編譯語(yǔ)句“ = 50?!睍r(shí)會(huì)提示存在語(yǔ)法錯(cuò)誤 “ radius has private access in Circle” ? 說(shuō)明 – 由于在 Circle類聲明中變量 radius被聲明為private, 因此在其它類中不能直接對(duì) radius進(jìn)行存取 – 如果要允許其它類訪問(wèn) radius的值,就需要在Circle類中聲明相應(yīng)的公有方法。 } – 對(duì)于實(shí)例變量 radius, 聲明其 get方法如下: public int getRadius(){ return radius。 } – 聲明實(shí)例變量 radius的 set方法如下: public void setRadius(int r){ radius = r。 – 在上面的 set方法中,如果形式參數(shù)為 radius,則需要在成員變量 radius之前加上關(guān)鍵字 this。 } 類成員的訪問(wèn)控制 (續(xù) ) —— set方法 類與對(duì)象 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 81 對(duì)象初始化和回收 ? 對(duì)象初始化 –系統(tǒng)在生成對(duì)象時(shí),會(huì)為對(duì)象分配內(nèi)存空間,并自動(dòng)調(diào)用 構(gòu)造方法 對(duì)實(shí)例變量進(jìn)行初始化 ? 對(duì)象回收 –對(duì)象不再使用時(shí),系統(tǒng)會(huì)調(diào)用 垃圾回收程序 將其占用的內(nèi)存回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 82 構(gòu)造方法 ? 構(gòu)造方法 –一種和類同名的特殊方法 –用來(lái)初始化對(duì)象 – Java中的每個(gè)類都有構(gòu)造方法,用來(lái)初始化該類的一個(gè)新的對(duì)象 –沒(méi)有定義構(gòu)造方法的類,系統(tǒng)自動(dòng)提供默認(rèn)的構(gòu)造方法 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 83 ? 構(gòu)造方法的特點(diǎn) – 方法名與類名相同 – 沒(méi)有返回類型,修飾符 void也不能有 – 通常被聲明為公有的 (public) – 可以有任意多個(gè)參數(shù) – 主要作用是完成對(duì)象的初始化工作 – 不能在程序中顯式的調(diào)用 – 在生成一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用該類的構(gòu)造方法為新生成的對(duì)象初始化 構(gòu)造方法 (續(xù) ) 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 84 ? 系統(tǒng)提供的默認(rèn)構(gòu)造方法 –如果在類的聲明中沒(méi)有聲明構(gòu)造方法,則Java編譯器會(huì)提供一個(gè)默認(rèn)的構(gòu)造方法 –默認(rèn)的構(gòu)造方法沒(méi)有參數(shù),其方法體為空 –使用默認(rèn)的構(gòu)造方法初始化對(duì)象時(shí),如果在類聲明中沒(méi)有給實(shí)例變量賦初值,則對(duì)象的屬性值為零或空 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 默認(rèn)構(gòu)造方法 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 85 ? 聲明一個(gè)銀行帳號(hào)類及測(cè)試代碼 public class BankAccount{ String ownerName。 float balance。 (ownerName= + )。 (balance= + )。在方法調(diào)用時(shí), Java可以通過(guò)參數(shù)列表的不同來(lái)辨別應(yīng)調(diào)用哪一個(gè)方法 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 自定義構(gòu)造方法 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 88 ? 為 BankAccount聲明一個(gè)有三個(gè)參數(shù)的構(gòu)造方法 public BankAccount(String initName, int initAccountNumber, float initBalance) { ownerName = initName。 balance = initBalance。 accountNumber = initAccountNumber。 } 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 例 2_13 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 89 ? 自定義無(wú)參的構(gòu)造方法 –無(wú)參的構(gòu)造方法對(duì)其子類的聲明很重要。 編譯器將要告訴你找不到對(duì)應(yīng)的構(gòu)造方法 ? 說(shuō)明 – 用戶在進(jìn)行類聲明時(shí),如果沒(méi)有聲明任何構(gòu)造方法,系統(tǒng)會(huì)賦給此類一個(gè)默認(rèn)(無(wú)參)的構(gòu)造方法。 accountNumber = 999999。 } 對(duì)象初始化和回收 構(gòu)造方法 (續(xù) ) —— 例 2_14 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 92 ? 創(chuàng)建一個(gè)擁有兩個(gè)構(gòu)造方法的 Tree類,一個(gè)有參,一個(gè)無(wú)參。 class Tree { int height。 height = 0。 height = i。 } void info(String s) { prt(s + : Tree is + height + feet tall)。 } } 構(gòu)造方法 (續(xù) ) —— 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 93 ? 測(cè)試 Tree類 public class Overloading { public static void main(String[] args) { for(int i = 0。 i++) { Tree t = new Tree(i)。 (overloaded method)。 } } 構(gòu)造方法 (續(xù) ) —— 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 94 ? 測(cè)試結(jié)果 Creating new Tree that is 0 feet tall Tree is 0 feet tall overloaded method: Tree is 0 feet tall Creating new Tree that is 1 feet tall Tree is 1 feet tall overloaded method: Tree is 1 feet tall Creating new Tree that is 2 feet tall Tree is 2 feet tall overloaded method: Tree is 2 feet tall Creating new Tree that is 3 feet tall Tree is 3 feet tall overloaded method: Tree is 3 feet tall Creating new Tree that is 4 feet tall Tree is 4 feet tall overloaded method: Tree is 4 feet tall Planting a seedling 構(gòu)造方法 (續(xù) ) —— Overloading測(cè)試結(jié)果 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 95 ? this關(guān)鍵字的使用 –可以使用 this關(guān)鍵字在一個(gè)構(gòu)造方法中調(diào)用另外的構(gòu)造方法 –代碼更簡(jiǎn)潔,維護(hù)起來(lái)也更容易 –通常用參數(shù)個(gè)數(shù)比較少的構(gòu)造方法調(diào)用參數(shù)個(gè)數(shù)最多的構(gòu)造方法 構(gòu)造方法 (續(xù) ) —— this關(guān)鍵字的使用 對(duì)象初始化和回收 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 96 ? 使用 this關(guān)鍵字,修改 BankAccout類中無(wú)參數(shù)和二參數(shù)的構(gòu)造方法 對(duì)象初始化和回收 public BankAccount() { this(, 999999, )。 } public BankAccount(String initName, int initAccountNumber, float initBalance) { ownerName = initName。 balance = initBalance。 private int accountNumber。 public BankAccount() { this(, 0, 0)。 accountNumber = initAccNum。 } 應(yīng)用舉例 聲明 BankAccount類 JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 103 public String getOwnerName() { return ownerName。 } public float getBalance() { return balance。 } public void setAccountNumber(int newNum) { accountNumber = newNum。 } } 應(yīng)用舉例 聲明 BankAccount類 (續(xù) ) —— JAVA語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 104 ? 聲明測(cè)試類 AccountTester public class AccountTester { public static void main(String args[]) { BankAccount anAccount。 (() + 100)。 (Account name: + ())。 (Balance: $ + ())。39。 (
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1