




已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第四章 類、對象和接口,4.2 對象,類是創(chuàng)建對象的模板 創(chuàng)建對象: 對象的聲明 為對象分配內(nèi)存,4.2 對象,1、對象的聲明: 格式:類的名字 對象名字; 如:People zhangPing;,4.2 對象,2、為聲明的對象分配內(nèi)存: 使用new運算符和類的構(gòu)造方法為聲明的對象分配內(nèi)存,如果類中沒有構(gòu)造方法,系統(tǒng)會調(diào)用默認的構(gòu)造方法(默認的構(gòu)造方法是無參數(shù)的)。 如:zhangPing=new People();,4.2 對象,class XiyoujiRenwu float height,weight; String head,ear,hand,foot,mouth; void speak(String s) System.out.println(s); class A public static void main(String args ) XiyoujiRenwu zhubajie; /聲明對象 zhubajie=new XiyoujiRenwu(); /為對象分配內(nèi)存,使用new運算符和默認的構(gòu)造方法 ,例:1,4.2 對象,class Point int x,y; Point(int a,int b) x=a; y=b; public class A public static void main(String args) Point p1,p2; /聲明對象p1和p2。 p1=new Point(10,10); /為對象分配內(nèi)存,使用 new 和類中的構(gòu)造方法。 p2=new Point(23,35); /為對象分配內(nèi)存,使用 new 和類中的構(gòu)造方法。 ,例:2,練習,用課本P45 類梯形創(chuàng)建一個名為“tx”的對象,4.2 對象,3、對象的內(nèi)存模型: 聲明對象時的內(nèi)存模型 聲明對象變量后,變量內(nèi)存無數(shù)據(jù),是空對象,不能使用 如:XiyoujiRenwu zhubajie;,zhubajie,4.2 對象,3、對象的內(nèi)存模型: 對象分配內(nèi)存后的內(nèi)存模型 為成員變量分配內(nèi)存 返回一個應用給對象變量 如 zhubajie=new XiyoujiRenwu();,0.0,0.0,null,null,null,null,null,0xAB12,zhubajie,weight,height,head,ear,mouth,hand,foot,4.2.2 使用對象,使用運算符 “.” ,對象實現(xiàn)對自己的變量訪問和方法的調(diào)用 對象操作自己的變量(對象的屬性) 對象創(chuàng)建后,就有自己的變量。通過使用運算符“.”對象實現(xiàn)對自己變量的訪問。 對象調(diào)用類中的方法(對象的功能) 采用“.”調(diào)用創(chuàng)建它的類中的方法。 當對象調(diào)用類中的一個方法時,方法中的局部變量被分配到內(nèi)存空間,4.2.2 使用對象,class XiyoujiRenwu float height,weight; String head, ear,hand,foot,mouth; void speak(String s) head=“歪著頭“; System.out.println(s); public class Example public static void main(String args) XiyoujiRenwu zhubajie,sunwukong;/聲明對象。 zhubajie=new XiyoujiRenwu();/為對象分配內(nèi)存,使用new 運算符和默認構(gòu)造方法。 sunwukong=new XiyoujiRenwu(); zhubajie.height=1.80f; /對象給自己的變量賦值。,zhubajie.weight=160f; zhubajie.hand=“兩只黑手“; zhubajie.foot=“兩只大腳“; zhubajie.head=“大頭“; zhubajie.ear=“一雙大耳朵“; zhubajie.mouth=“一只大嘴“; sunwukong.height=1.62f; /對象給自己的變量賦值。 sunwukong.weight=1000f; sunwukong.hand=“白嫩小手“; sunwukong.foot=“兩只繡腳“; sunwukong.head=“繡發(fā)飄飄“; sunwukong.ear=“一對小耳“; sunwukong.mouth=“櫻桃小嘴“; System.out.println(“zhubajie的身高:“+zhubajie.height); System.out.println(“zhubajie的頭:“+zhubajie.head); System.out.println(“sunwukong的重量:“+sunwukong.weight); System.out.println(“sunwukong的頭:“+sunwukong.head); zhubajie.speak(“俺老豬我想娶媳婦“); /對象調(diào)用方法。 System.out.println(“zhubajie現(xiàn)在的頭:“+zhubajie.head); sunwukong.speak(“老孫我重1000斤,我想騙八戒背我“); /對象調(diào)用方法。 System.out.println(“sunwukong現(xiàn)在的頭:“+sunwukong.head); ,4.2.2 使用對象,類中的方法可以操作成員變量,當對象調(diào)用該方法時,方法中出現(xiàn)的成員變量就是指該對象的成員變量。,練習,打印梯形的面積:(上底為2.0,下底為5.0,高為3.0) 用課本P45 梯形類,4.2.3 對象的應用和實體,當用類創(chuàng)建一個對象時,類中的成員變量被分配內(nèi)存空間,這些內(nèi)存空間被稱作該對象的實體。 對象中存放著應用,確保實體由該對象操作使用。,4.2.3 對象的應用和實體,如: Point p1=new Point(12,16); Point p2=new Point(6,18); p1=p2;,12,16,6,18,0xAB28,0xDD,6,18,X,y,X,y,X,y,0xDD,0xDD,p1,p2,p2,p1,4.2.3 對象的應用和實體,例4: class 圓 double 半徑; 圓(double r) 半徑=r; double 計算面積() return 3.14*半徑*半徑; void 修改半徑(double 新半徑) 半徑=新半徑; double 獲取半徑() return 半徑; ,4.2.3 對象的應用和實體,class 圓錐 圓 底圓; double 高; 圓錐(圓 circle,double h) this.底圓=circle; this.高=h; double 計算體積() double volume; volume=底圓.計算面積()*高/3.0; return volume; void 修改底圓半徑(double r) 底圓.修改半徑(r); double 獲取底圓半徑() return 底圓.獲取半徑(); ,4.2.3 對象的應用和實體,class Example public static void main(String args) 圓 circle=new 圓(10); 圓錐 circular=new 圓錐(circle,20); System.out.println(“圓錐底圓半徑:“+circular.獲取底圓半徑(); System.out.println(“圓錐的體積:“+circular.計算體積(); circular.修改底圓半徑(100); System.out.println(“圓錐底圓半徑:“+circular.獲取底圓半徑(); System.out.println(“圓錐的體積:“+circular.計算體積(); ,4.3 static關(guān)鍵字,1、實例變量和類變量的區(qū)別 不同對象的實例變量將被分配不同的內(nèi)存空間,如果類中的成員變量有類變量,那么所有對象的這個類變量都分配給相同的一處內(nèi)存,改變其中一個對象的這個類變量會影響其它對象的這個類變量。 也就是說對象共享類變量,4.3 static關(guān)鍵字,例子5 class 梯形 float 上底,高; static float 下底; /類變量。 梯形(float 上底,float 高) this.上底=上底; this.高=高; float 獲取上底() return 上底; float 獲取下底() return 下底; ,4.3 static關(guān)鍵字,class Example4_5 public static void main(String args) 梯形 laderOne,laderTwo; /梯形的字節(jié)碼被加載到內(nèi)存。 梯形.下底=60; /通過類名操作類變量。 laderOne=new 梯形(18.0f,20); laderTwo=new 梯形(9.0f,10); System.out.println(“l(fā)aderOne的上底:“+laderOne.獲取上底(); System.out.println(“l(fā)aderOne的下底:“+laderOne.獲取下底(); System.out.println(“l(fā)aderTwo的上底:“+laderTwo.獲取上底(); System.out.println(“l(fā)aderTwo的下底:“+laderTwo.獲取下底(); ,4.3 static關(guān)鍵字,2、實例方法和類方法的區(qū)別 當類的字節(jié)碼文件被加載到內(nèi)存時,類的實例方法不會被分配入口地址,當該類創(chuàng)建對象后,類中的實例方法才分配入口地址,從而實例方法可以被類創(chuàng)建的任何對象調(diào)用執(zhí)行。 類中的類方法,在該類被加載到內(nèi)存時,就分配了相應的入口地址。,4.4 this關(guān)鍵字,1、this關(guān)鍵字可以出現(xiàn)在類的實例方法中,代表使用該方法的當前對象。 2、this關(guān)鍵字出現(xiàn)在類的構(gòu)造方法中,代表使用該構(gòu)造方法所創(chuàng)建的對象。 實例方法可以操作類的成員變量。 格式:this.成員變量,4.4 this關(guān)鍵字,如: class A int x; void f() this.x=100; /此例子沒有同名的成員變量和局部變量,this可以省略,4.4 this關(guān)鍵字,如: class B void f() this.g(); void g() System.out.println(“OK”); /此例子中this代表使用方法f的當前對象,方法發(fā)f的方法體中this.g()就是當前對象調(diào)用方法g. 一個方法調(diào)用另一個方法時可以省略方法名字前面的this,4.5 包,1、包語句 通過關(guān)鍵字package聲明包語句。package作為Java源文件的第一條語句。 package語句的一般格式: package 包名; 如: package sunrise; package ;,4.5 包,如果源程序中省略了package語句,源文件所定義命名的類被隱含地認為是無名包的一部分即源文件中定義命名的類在同一個包中,但該包沒有名字。,4.5 包,程序如果使用了包語句,就必須有相應的目錄結(jié)構(gòu)。 如: package tom.jafei; 則目錄結(jié)構(gòu)必須包含如下結(jié)構(gòu): tomjiafei,4.5 包,例6:,package tom.jiafei; public class Example4_6 public static void main(String args) System.out.println(“我有包名“); ,4.5 包,2、 import語句 使用import語句可以引入包中的類。 在一個java源程序中可以有多個import語句,他們必須寫在package語句和源文件中的類的定義之間,4.5 包,2、 import語句 Java提供的包有很多,約130多個 如: java. applet 包含所有實現(xiàn)java applet的類 java.awt 包含抽象窗口工具集中的圖形、文本、窗口GUI類 java.awt.image 包含抽象窗口工具集中的圖像處理類 java.lang 包含所有基本語言類 java.io 包含所有的輸入/輸出類 包含所有實現(xiàn)網(wǎng)絡(luò)功能的類 java.until 包含有用的數(shù)據(jù)類型類,4.5 包,引入類: 如果要引入一個包中的全部類,則可以用星號來代替 如:import java.awt.*; 只引入一個確定的類,則直接寫明引用 如:import java.until.Date,4.5 包,例7:,import java.applet.Applet; import java.awt.*; public class Example extends Applet Button redbutton; public void init() redbutton=new Button(“我是一個紅色的按鈕“); redbutton.setBackground(Color.red); add(redbutton); public void paint(Graphics g) g.drawString(“it is a button“,30,50); ,例8,import tom.jiafei.*; class Example4_8 public static void main(String args) Trangle trangle=new Trangle(12,3,1); trangle.計算面積(); trangle.修改三邊(3,4,5); trangle.計算面積(); ,4.6 訪問權(quán)限,1.私有變量和私有方法 2.共有變量和共有方法 3.友好變量和友好方法 4.受保護成員變量和方法 5.public類與友好類,4.6 訪問權(quán)限,1.私有變量和私有方法 用關(guān)鍵字private修飾的成員變量和方法被稱為私有變量和私有方法 如:,class Tom private float weight; /weight私有的float變量 private float f(float a, float b) /方法f是私有方法 ,4.6 訪問權(quán)限,對于私有成員變量或方法,在另外一個類中,不能操作這個私有變量或方法,只有在本類中創(chuàng)建該類的對象的時候,才能訪問自己的私有變量和類中的私有方法。,class Jerry void g() Tom cat=new Tom(); cat.weight=23f; /非法 cat.f(3f,4f); /非法 ,4.6 訪問權(quán)限,class Example4_9 private int money; Example4_9() money=2000; private int getMoney() return money; public static void main(String args) Example4_9 exa=new Example4_9(); exa.money=3000; int m=exa.getMoney(); System.out.println(“money=“+m); ,類中訪問自己的私有成員變量和私有方法,4.6 訪問權(quán)限,2.共有變量和共有方法 用關(guān)鍵字public修飾的成員變量和方法被稱為共有變量和共有方法 如:,class Tom public float weight; /weight共有的float變量 public float f(float a, float b) /方法f是共有方法 ,4.6 訪問權(quán)限,對于共有成員變量或方法,在另外一個類中,能操作這個變量或方法。,class Jerry void g() Tom cat=new Tom(); cat.weight=23f; /合法 cat.f(3f,4f); /合法 ,4.6 訪問權(quán)限,3.友好變量和方法 不用private、public、protected修飾符的成員變量和方法被稱為友好變量和友好方法。 如:,class Tom float weight; /weight友好的float變量 float f(float a, float b) /方法f是友好方法 ,4.6 訪問權(quán)限,在同一個包中,那么能訪問自己的友好變量和友好方法。,class Jerry void g() Tom cat=new Tom(); cat.weight=23f; /合法 cat.f(3f,4f); /合法 ,4.6 訪問權(quán)限,4.受保護的成員變量和方法 用關(guān)鍵字protected修飾的成員變量和方法被稱為受保護的成員變量和受保護的方法 如:,class Tom protected float weight; /weight受保護的float變量 protected float f(float a, float b) /方法f是受保護的方法 ,4.6 訪問權(quán)限,當在另外一個類中用類Tom創(chuàng)建一個對象后,如果這個類與類Tom在同一個包中,那么該對象能訪問自己的protected變量和方法.也可以通過類名訪問,class Jerry void g() Tom cat=new Tom(); cat.weight=23f; /合法 cat.f(3f,4f); /合法 ,4.6 訪問權(quán)限,5.public類與友好類 類聲明時,如果在關(guān)鍵字class前面加上public關(guān)鍵字,就稱這樣類是一個public類 如: public class A 如果一個類不加public修飾,則為友好類 如:class A ,4.6 訪問權(quán)限,5.public類與友好類 不能用protected和private修飾類 訪問權(quán)限的排列: public 、protected、友好的、private,4.7 類的繼承,繼承是一種用已有類創(chuàng)建新類的機制。 新類繼承一般類的狀態(tài)和行為,并根據(jù)需要增加它自己的新的狀態(tài)和行為。 由繼承而得到的類成為子類,被繼承的類稱為父類(超類)。 Java不支持多重繼承(子類只能有一個父類),4.7 類的繼承,1.創(chuàng)建子類 在聲明中,使用關(guān)鍵字extends來創(chuàng)建一個類的子類,格式:,class 子類名 extends 父類名 ,4.7 類的繼承,1.創(chuàng)建子類 例: 把Student聲明為People的子類,People是Students的父類.,class Student extends People ,4.7 類的繼承,2.子類的繼承性 子類繼承父類的成員變量 繼承父類的方法.,4.7 類的繼承,2.子類的繼承性 子類和父類在同一包種的繼承性 如果子類和父類在同一個包中,那么子類自然地繼承了其父類中不是private的成員變量作為自己的成員變量,并且也自然地繼承了父類中不是private的方法作為自己的方法.繼承的成員或方法的訪問權(quán)限保持不變.,class Father private int money; int weight=100; String speak(String s) return s ; class Son extends Father String hand ; void f() weight=200; System.out.println(weight); class Suizi extends Son String foot ; ,public class Example4_10 public static void main(String args) Son son=new Son(); Suizi sunzi=new Suizi(); son.hand=“兩只手 “; sunzi.hand=“兩小只手 “; sunzi.foot=“兩只腳 “; System.out.println(son.hand); son.f(); System.out.println(sunzi.weight+“:“+sunzi.hand+“:“+sunzi.foot); System.out.println(sunzi.speak(“我是孫子“); ,4.7 類的繼承,2.子類的繼承性 子類和父類不在同一包種的繼承性 如果子類和父類不在同一個包中,那么子類繼承了父類的protected、public成員變量作為子類的成員變量,并且繼承了父類的protected、public方法為子類的方法。繼承的成員或方法的訪問權(quán)限保持不變. 如果子類和父類不在同一個包里,子類不能繼承父類的友好變量和友好方法。,Father.java:,package tom.jiafei; public class Father int height; protected int money=120; public int weight; protected int getMoney() return money; void setMoney(int newMoney) money=newMoney; ,Jerry.java,package ; import tom.jiafei.Father; public class Jerry extends Father /Jerry和Father在不同的包中. void f() money=1000; /合法, /height=1.89f; /非法,因為Jerry沒有繼承友好的height System.out.println(money); /輸出結(jié)果是1000。 /setMoney(300); /非法,因為Jerry沒有繼承友好的方法setMoney。 int number=getMoney(); /合法. System.out.println(number); /輸出結(jié)果是1000。 public static void main(String args) Jerry jerry=new Jerry(); jerry.f(); ,4.7 類的繼承,2.子類的繼承性 protected的進一步說明 一個類A中的protected成員變量和方法可以被它的直接子類和間接子類繼承,如:B是A的子類,C是B的子類,D又是C的子類,那么B、C和D類都繼承了A的protected成員變量和方法。 如果用D類在D本身中創(chuàng)建了一個對象,那么該對象總是可以通過“.”運算符訪問繼承的或自己定義的protected變量和protected方法。 如果在另外一個類中,比如Other類,用D類創(chuàng)建了一個對象object,該對象通過“.”運算符訪問protected變量和protected方法的權(quán)限如下:,4.7 類的繼承,如果在另外一個類中,比如Other類,用D類創(chuàng)建了一個對象object,該對象通過“.”運算符訪問protected變量和protected方法的權(quán)限如下: 子類D中親自聲明的protected成員變量和方法,不可能是從別的類繼承來的,object訪問這些非繼承的protected成員變量和方法時,只要Other類和D類在同一個包中就可以 如果子類D的對象的protected成員變量或protected方法是從父類繼承的,那么就要一直追溯到該protected成員變量或方法的“祖先”類,即A類。如果Other類和A類在同一個包,object對象能訪問繼承的protected變量和protected方法。,A.java:,package tom.jiafei; public class A protected int x=120; protected void fA() System.out.println(“我是A類中的protected方法“); System.out.println(“x=“+x); ,B.java:,package ; import tom.jiafei.A; public class B extends A protected void fB() System.out.println(“我是B類中自己定義的方法“); public static void main(String args) B b=new B(); /對象b在B類中. b.x=1000; /合法. b.fA(); /合法. b.fB(); /合法. ,DL.java,package ; import .B; public class DL public static void main(String args) B b=new B(); /對象b在DL類中. b.x=1000; /非法,因為對象b的成員變量x是從A類繼承的,但DL和A不在同一包中. b.fA(); /非法.因為方法fA是B類從A類繼承的protected方法,但DL和A不在同一包中. b.fB(); /合法,因為方法fB是B類中自己定義的protected方法, DL類和B類在同一包中. ,Example.java,package tom.jiafei; import .B; public class Example public static void main(String args) B b=new B(); /對象b在Example類中. b.x=1000; /合法,因為對象b的成員變量x是從A類繼承的,而Example和A在 同一包中. b.fA(); /合法.因為方法fA是B類從A類繼承的protected方法,而Example和A在同一包中. b.fB(); /非法,因為方法fB是B類中自己定義的protected方法,但 Example類和B類不在同一包中. a,4.7 類的繼承,3.成員變量的隱藏和方法的重寫 成員變量隱藏:如果在子類中定義的成員變量和父類的成員變量同名時,則父類中的成員變量不能被繼承,此時稱為子類的成員變量隱藏了父類的成員變量。 方法重寫:如果子類中定義了一個方法,并且這個方法的名字、返回類型以及參數(shù)個數(shù)和類型同父類的某個方法完全相同,父類的這個方法將被隱藏,則稱重寫父類的方法。,4.7 類的繼承,3.成員變量的隱藏和方法的重寫 子類通過成員變量的隱藏和方法的重寫可以把父類的狀態(tài)和行為改變成為自身的狀態(tài)和行為。,例子12,import java.applet.*; import java.awt.*; class A private int number=100; float f(int x,int y) return x+y; float g(float x,float y) return x+y+number; ,class B extends A float f(int x,int y) return x*y; public class Example public static void main(String args) B b=new B(); System.out.println(b.f(2,5); /調(diào)用重寫的方法。 System.out.println(b.g(2,5); /b調(diào)用繼承的父類的方法。 ,4.7 類的繼承,3.成員變量的隱藏和方法的重寫 重寫父類的方法時,不能降低方法的訪問權(quán)限。,import java.applet.*; import java.awt.*; class A private int number=100; protected float f(int x,int y) return x+y; float g(float x,float y) return x+y+number; ,class B extends A float f(int x,int y) return x*y; ,class C extends A public float f(int x,int y) /合法,沒有降低訪問級別 return x-y; ,4.7 類的繼承,4.final類final方法 Final類不能被繼承,即不能有子類 Final class A A就是一個final類。 出于安全的考慮,將一些類修飾為final類。 如果一個方法被修飾為final方法,則這個方法不能被重寫。如果一個成員變量被修飾為final,就是常量。,4.8 對象的上轉(zhuǎn)型對象,1.定義 假設(shè)A類是B類的父類,當用子類創(chuàng)建一個對象,并把這個對象的引用放到父類的對象中時,比如: A a; a=new B(); 或者 A a; B b=new B(); a=b; 稱這個父類對象a是子類對象b的上轉(zhuǎn)型對象。,4.8 對象的上轉(zhuǎn)型對象,2.特點,對象的上轉(zhuǎn)型對象,對象,繼承或重寫的方法,繼承或重寫的變量,新增的方法,新增的變量,4.8 對象的上轉(zhuǎn)型對象,例子 class 類人猿 private int n=100; void crySpeak(String s) System.out.println(s); ,4.8 對象的上轉(zhuǎn)型對象,class People extends 類人猿 void computer(int a,int b) int c=a*b; System.out.println(c); void crySpeak(String s) System.out.println(“*“+s+“*“); ,4.8 對象的上轉(zhuǎn)型對象,class Example public static void main(String args) 類人猿 monkey=new People(); /monkey是People對象的上轉(zhuǎn)型對象。 monkey.crySpeak(“I love this game“); /monkey.n=23; /非法,因為子類未繼承n. /puter(12,19); /非法,computer是子類新增的功能. People people=(People)monkey; /把上轉(zhuǎn)型對象強制轉(zhuǎn)化為子類的對象。 puter(10,10); ,4.9 多態(tài)性,1.定義 當一個類有很多子類,并且這些子類都重寫了父類中的某個方法,那么當把子類創(chuàng)建的對象的引用放到一個父類的對象中時,就得到了該對象的一個上轉(zhuǎn)型對象,那么這個上轉(zhuǎn)型對象在調(diào)用這個方法的時候就可能具有多種形態(tài),因為不同的子類在重寫父類的方法時可能產(chǎn)生不同的行為。 多態(tài)指父類的某個方法被其子類重寫時,可以各自產(chǎn)生自己的功能行為。,4.9 多態(tài)性,例子14 class 動物 void cry() class 狗 extends 動物 void cry() System.out.println(“汪汪.“); ,4.9 多態(tài)性,class 貓 extends 動物 void cry() System.out.println(“喵喵.“); ,4.9 多態(tài)性,class Example4_14 public static void main(String args) 動物 dongwu; if(Math.random()=0.5) dongwu=new 狗(); dongwu.cry(); else dongwu=new 貓(); dongwu.cry(); ,4.10 abstract類和abstract方法,1.定義 用關(guān)鍵字abstract修飾的類稱為abstract類(抽象類),如: abstract class A ,4.10 abstract類和abstract方法,2.特點 abstract類不能用new運算符創(chuàng)建對象,必須產(chǎn)生子類,由子類創(chuàng)建對象。 abstract方法只允許申明,不允許實現(xiàn):如 abstract void draw(); 如果一個類是abstract類的子類,它必須具體實現(xiàn)父類的abstract方法。 如果一個類含有abstract方法,那么這個類必須用abstract來修飾( abstract 類也可以沒有abstract 方法)。 abstract類只關(guān)心它的子類是否具有某種功能,并不關(guān)心功能的具體行為,功能的具體行為有子類負責實現(xiàn)。,4.10 abstract類和abstract方法,例子15 abstract class 圖形 public abstract double 求面積(); ,4.10 abstract類和abstract方法,class 梯形 extends 圖形 double a,b,h; 梯形(double a,double b,double h) this.a=a;this.b=b;this.h=h; public double 求面積() return(1/2.0)*(a+b)*h); ,4.10 abstract類和abstract方法,class 圓形 extends 圖形 double r; 圓形(double r) this.r=r; public double 求面積() return(3.14*r*r); ,4.10 abstract類和abstract方法,class 堆 圖形 底; double 高; 堆(圖形 底,double 高) this.底=底; this.高=高; void 換底(圖形 底) this.底=底; public double 求體積() return (底.求面積()*高)/3.0; ,4.10 abstract類和abstract方法,public class Example4_15 public static void main(String args) 堆 zui; 圖形 tuxing; tuxing=new 梯形(2.0,7.0,10.7); System.out.println(“梯形的面積“+tuxing.求面積(); zui=new 堆(tuxing,30); System.out.println(“梯形底的堆的體積“+zui.求體積(); tuxing=new 圓形(10); System.out.println(“半徑是10的圓的面積“+tuxing.求面積(); zui.換底(tuxing); System.out.println(“圓形底的堆的體積“+zui.求體積(); ,4.11 super關(guān)鍵字,1.使用super調(diào)用父類的構(gòu)造方法 子類不繼承父類的構(gòu)造方法,因此,子類如果想使用父類的構(gòu)造方法,必須在子類的構(gòu)造方法中使用,并且必須使用關(guān)鍵字super來表示,而且super必須是子類構(gòu)造方法中的頭一句。,4.11 super關(guān)鍵字,例子16 class Student int number;String name; Student(int number,String name) this.number=number; =name; System.out.println(“I am “+name+ “my number is “+nu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報書語文
- 課題申報書咋寫
- 微課題研究申報書
- 借款合同范本員工向公司
- 醫(yī)學課題申報書 范文
- 學生曠課課題申報書
- 業(yè)務(wù)員用車合同范例
- 前后院老屋出租合同范本
- 合同范本文壁紙
- 創(chuàng)新專業(yè)研究課題申報書
- Kappa測試數(shù)據(jù)分析報告
- 礦山地質(zhì)與安全
- 視知覺原理課件
- 建筑工程計量與計價高職PPT完整全套教學課件
- 網(wǎng)店運營PPT完整全套教學課件
- 用戶操作手冊-Tagetik合并財務(wù)報表系統(tǒng)實施項目
- 畜牧場經(jīng)營管理
- 【課件】算法及其特征 課件教科版(2019)高中信息技術(shù)必修1
- 【課題】《中學道德與法治法治意識培養(yǎng)策略的研究》中期檢查表
- 統(tǒng)編人教版高中政治(必修3)第2課第一框《始終堅持以人民為中心》說課稿
- 第七章-創(chuàng)意服裝的立體裁剪課件
評論
0/150
提交評論