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

正文內(nèi)容

javaee基礎(chǔ)教程第4章類與對象的基本概念ppt(參考版)

2024-10-21 14:25本頁面
  

【正文】 ()。 ( )。 } public void eat( ){ (小鳥吃蟲子啦 )。 } public void eat(){ (小狗啃骨頭啦 )。 public void setName(String name){ =name。 程序清單: ch04\ abstract class Animal{ public abstract void eat()。不管是父類還是子類,只要有抽象方法就必須聲明為抽象類。抽象類中也可以聲明 static屬性和方法。 Java EE基礎(chǔ)教程 93 2021年 11月 10日星期三 ?2. abstract類 ?抽象類不可以直接實例化,不能直接產(chǎn)生屬于這個類的對象;但是我們可以通過子類繼承來使用經(jīng)過重寫的子類方法。這種情況下,可以隨意對文件命名。如果在該編譯單元之中還有額外的類的話,那么在包之外是無法看見這些類的,這是因為他們不是 public類,而且他們主要用來為主要 public類提供支持。每個編譯單元都必須要有一個后綴為 .java,而在編譯單元內(nèi)測可以有一個public類,該類的名稱必須與文件名稱相同 (包括大小寫,但不包括文件的后綴名 .java)。 ? 1. public類 ? 表示所有其它的類都可以使用此類;這個類作為整體是可見和可使用的,程序的其他部分可以創(chuàng)建這個類的對象,訪問這個類可用的成員變量和方法。 Java EE基礎(chǔ)教程 92 2021年 11月 10日星期三 類的訪問權(quán)限與包的概念 返回 ? ? 類的訪問控制有 public、 abstract、 final及 friendly(無修飾符或缺?。┧姆N。已經(jīng)編譯好的類庫可以調(diào)用新定義的子類的方法而不必重新編譯,而且還提供了一個簡明的抽象接口。 ( )。s callme( ) method)。s callme( ) method)。 } } } Java EE基礎(chǔ)教程 90 2021年 11月 10日星期三 例 421該例中,聲明了 A類型的變量 a,然后用 new建立 A類的子類 B的一個實例 b,并把對該實例的一個引用存儲到 a中, Java運行時系統(tǒng)分析該引用是類型 B的一個實例,因此調(diào)用子類 B的 callme方法。 } else { dongwu=new 貓 ()。 if(()=) { dongwu=new 狗 ()。 } } Java EE基礎(chǔ)教程 89 2021年 11月 10日星期三 class 貓 extends 動物 { void cry(){ (貓 cry(): 喵喵 .....)。狗類的上轉(zhuǎn)型對象調(diào)用叫聲方法時產(chǎn)生的行為是“旺旺”,而貓類的上轉(zhuǎn)型對象調(diào)用叫聲方法時,產(chǎn)生的行 為是“喵喵”。當一個類有很多子類時,并且這些子類都重寫了父類中的某個方法,那么這個上轉(zhuǎn)的對象在調(diào)用這個方法時就可能具有多種形態(tài),因為不同的子類在重寫父類的方法時可能產(chǎn)生不同的行為。 ?我們經(jīng)常說“哺乳動物有很多種叫聲”,比如,“吼”、“嚎”、“汪汪”、“喵喵”等,這就是叫聲的多態(tài)。對子類的一個實例,如果子類重載了父類的方法,則運行時系統(tǒng)調(diào)用子類的方法,如果子類繼承了父類的方法(未重載),則運行時系統(tǒng)調(diào)用父類的方法。運行時多態(tài)也稱動態(tài)綁定( dynamic binding)、后期綁定( late binding)或運行時綁定( runtime binding)。 ? 1.編譯時多態(tài) ?在編譯階段,具體調(diào)用哪個被重載的方法,編譯器會根據(jù)參數(shù)的不同來靜態(tài)確定調(diào)用相應(yīng)的方法。 ()。 originalPeople=people。 } } class BackwardObject{ public static void main(String[] args) { 類人猿 originalPeople=new 類人猿 ()。 } void crySpeak(){ ( 我是 People。 )。 class 類人猿 { public 類人猿 (){ (類人猿 Created!)。示例中“類人猿”類對象originalPeople是 People1類對象 people的上轉(zhuǎn)型對象。 ? 不可以將父類創(chuàng)建的對象的引用賦值給子類聲明的對象,也就是不能 說“哺乳動物是老虎”。 ? 不要將父類創(chuàng)建的對象和子類對象的上轉(zhuǎn)對象混淆。 ? 上轉(zhuǎn)型對象可以操作子類繼承的成員變量,也可以使用子類繼承的或 重寫的方法。但從語法角度看,當說老虎是哺乳動物時,老虎將失掉老虎獨有的屬性和功能。 Java EE基礎(chǔ)教程 81 2021年 11月 10日星期三 ?我們經(jīng)常說“老虎是哺乳動物”,“狗是哺乳動物”等。 a=b。 或 A a。例如: ?假設(shè), A 類是 B 類的父類,當我們用子類創(chuàng)建一個對象,并把這個子類對象的引用放到父類的對象中時,比如: A a。 ( )。 ( = ++ = +x)。 } void doSomething( ){ ( )。 //調(diào)用父類的構(gòu)造方法 x = 5。 } } Java EE基礎(chǔ)教程 78 2021年 11月 10日星期三 class subClass extends superClass{ int x。 (in superClass : x = +x)。 程序清單: ch04\ class superClass{ int x。 (result_2=+result_2)。 float result_2=()。 =100。 return c/2。 } float g() { float c。 c=()。 float f() { float c。 return sum。i=n。 float f() { float sum=0。 Java EE基礎(chǔ)教程 74 2021年 11月 10日星期三 例 417 使用關(guān)鍵字 super調(diào)用被子類隱藏了的父類的成員變量或方法。 婚否 =b。 //不調(diào)用帶參數(shù)的父類構(gòu)造函數(shù)super(number,name) =number。在這種情況下,如果父類沒有缺省的構(gòu)造函數(shù),將導(dǎo)致編譯錯誤。 ()。 } } public class ShowStudent{ public static void main(String[] args) { Univer_Student zhang=new Univer_Student(8030410, XiaoBin, ,false)。 (Son39。 } void showtel() { (Son39。 // 使用父類的構(gòu)造方法 婚否 =b。 int tel=81236666。s show(tel): tel of Student is +tel)。 (Father構(gòu)造 :I am +name+ my number is +number)。 Student(int number,String name) { =number。 程序清單: ch04\ class Student{ int number, tel=81238888。 Java EE基礎(chǔ)教程 70 2021年 11月 10日星期三 ?super的使用有三種情況: ? 用來訪問父類被隱藏的成員變量,如: ; ? 用來調(diào)用父類中被覆蓋的方法,如: ([paramlist]); ? 用來調(diào)用父類的構(gòu)造函數(shù),如: super([paramlist]); ?子類不繼承父類的構(gòu)造方法,如果子類想使用父類的構(gòu)造方法,子類必須在自己的構(gòu)造方法中使用關(guān)鍵字 super 來表示父類的構(gòu)造方法,而且 super 必須是子類構(gòu)造方法中的頭一條語句。 ?如果用從父類繼承下來的方法來訪問這個被子類隱藏的屬性,則實際上訪問的仍然是父類的原來那個被隱藏的屬性;如果是用子類自己覆蓋的方法來訪問這個被隱藏的屬性,則實際上訪問的是子類的屬性。 Java EE基礎(chǔ)教程 69 2021年 11月 10日星期三 ? super關(guān)鍵字 ?如果子類中定義的成員變量和父類中的成員變量同名時,則父類中的成員變量不能被繼承,此時稱子類的成員變量隱藏了父類的成員變量,稱之為屬性隱藏。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫。 } } Java EE基礎(chǔ)教程 68 2021年 11月 10日星期三 ?方法的重寫和重載是 Java多態(tài)性的不同表現(xiàn)。 } } Java EE基礎(chǔ)教程 67 2021年 11月 10日星期三 class Addxy extends Tongji{ float fun(float x,float y) { //非法,因為降低了訪問級別 return x+y 。 import .*。 例 415子類重寫父類的方法 fun(),該方法在父類中的訪問權(quán)限是 protected級別,子類重寫時不允許級別低于protected級別。 (調(diào)用繼承父類的方法 get(): x+y=+(,),5,40)。 public void init() { yuan=new Circle()。 } } Java EE基礎(chǔ)教程 65 2021年 11月 10日星期三 class Circle extends Area{ float fun(float r) { return **r。 class Area{ float fun(float r ) { return *r*r。 程序清單: ch04\ import .*。如下述例子所示。 } public void paint(Graphics g) { (sum=+(4,6),100,40)。 } } public class TestAddChengji extends Applet{ AddChengji sum。 class Chengji{ float fun(float x,float y){ return x*y。 程序清單: ch04\ import .*。 ?這些規(guī)則源自多態(tài)性的屬性和 Java編程語言必須保證“類型安全”的需要。 (2) 不能比它所覆蓋的方法的訪問性級別低。于是子類對象所使用的變量 x為子類中定義的 x,子類對象調(diào)用的方法 setX()為子類中所重寫的方法。 } //重寫了父類的方法 setX() } ? 該例中, SubClass是 SuperClass的一個子類。 } } class SubClass extends SuperClass{ int x。 Java EE基礎(chǔ)教程 59 2021年 11月 10日星期三 ? 例如: class SuperClass{ int x。 Java EE基礎(chǔ)教程 58 2021年 11月 10日星期三 ?當子類中定義了一個方法,并且這個方法的名字、返回類型、參數(shù)個數(shù)和類型與父類的某個方法完全相同時,父類的這個方法將被隱藏,這就是父類方法的重寫,也稱之為方法的覆蓋。 =sideC。 void setSide(float sideA,float sideB,float sideC) { =sideA。這時如果想在該方法內(nèi)使用成員變量,就必須使用關(guān)鍵字 this。 } } Java EE基礎(chǔ)教程 57 2021年 11月 10日星期三 ? 3.成員變量的隱藏和方法的重寫 ? 當我們在子類中定義的成員變量和父類中的成員變量同名時,則父類 中的成員變量被隱藏,此時稱子類的成員變量隱藏了父類的成員變量。 //合法 .. // (300)。 //合法 .
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1