實(shí)驗(yàn)報(bào)告三完整版_第1頁
實(shí)驗(yàn)報(bào)告三完整版_第2頁
實(shí)驗(yàn)報(bào)告三完整版_第3頁
實(shí)驗(yàn)報(bào)告三完整版_第4頁
實(shí)驗(yàn)報(bào)告三完整版_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)驗(yàn)報(bào)告三專心-專注-專業(yè)實(shí)驗(yàn)三、對(duì)象和類(一)1實(shí)驗(yàn)?zāi)康模?)結(jié)合面向?qū)ο笏枷胝莆疹惖亩x以及類中成員的定義,學(xué)會(huì)設(shè)計(jì)自己的類。(2)掌握方法重載、尤其是構(gòu)造方法的重載,深入理解構(gòu)造函數(shù)的作用與調(diào)用時(shí)機(jī)。(3)理解this關(guān)鍵字同static關(guān)鍵字的意義,掌握成員變量的具體隱藏實(shí)現(xiàn)。(4)理解對(duì)象同對(duì)象引用間的區(qū)別,掌握創(chuàng)建對(duì)象與調(diào)用對(duì)象成員的方法,以及對(duì)象作為參數(shù)與基本數(shù)據(jù)類型變量做參數(shù)的區(qū)別。2實(shí)驗(yàn)內(nèi)容和步驟上機(jī)輸入程序并調(diào)試運(yùn)行程序。編譯并運(yùn)行附件1和附件2,觀察結(jié)果分析其原因。附錄1 ClassLoadTest.javapackage ch3;public

2、class ClassLoadTest staticSystem.out.println("class loding"); public static void main(String args) 結(jié)果:原因:附錄2 PassValueTest.javapackage ch3;public class PassValueTest private int i = -100;public void test1(int b) b = 100;public void test2(PassValueTest b) b.i = 100;public void test3(PassVal

3、ueTest b) b = this;public static void main(String args) PassValueTest obj = new PassValueTest();int temp = 100;obj.test1(temp);System.out.println(temp);obj.test2(obj);System.out.println(obj.i);obj.i=100;PassValueTest newobj = new PassValueTest();obj.test3(newobj);System.out.println(newobj.i);結(jié)果:原因:(

4、2)編譯附件3,分析結(jié)果;將“注釋這行”所在的行注釋,再將注釋的call2方法去掉注釋,再次編譯,觀察結(jié)果分析其原因。附錄3 StaticTest.javapackage ch3;public class StaticTest public static void call1()staticmethod();nonstaticmethod(); /注釋這行/*public static void call2(StaticTest o1)o1.nonstaticmethod();StaticTest o2=new StaticTest ();o2.nonstaticmethod();*/publ

5、ic void nonstaticmethod()System.out.println("非靜態(tài)方法被調(diào)用");public static void staticmethod()System.out.println("靜態(tài)方法被調(diào)用");public static void main(String arg)StaticTest obj=new Test2();StaticTest.call1();StaticTest.call2(obj);結(jié)果:原因:(3)定義一個(gè)圓類Circle,至少具有私有成員變量:radius(double型,用于保存半徑)、ar

6、ea(double型,用于保存面積)、length(double型,用于保存周長(zhǎng)),以及成員方法setRadius、getRadius(用于設(shè)置、獲取半徑)、getArea(用于獲得面積)、getLength(用于獲取周長(zhǎng))、print(打印圓對(duì)象的半徑、面積、周長(zhǎng)信息)。a)在main方法,要求方法中通過“Circle c1=new Circle(); Circle c2=new Circle(100);”分別新建半徑為1和半徑為100的圓對(duì)象,分別打印c1同c2的信息;b)使c2的半徑等于c1的半徑,使c1的半徑等于原c2的半徑,分別打印c1同c2的信息;public class Circ

7、le private double radius;private double area;private double length;public Circle()public Circle(int radius)this.radius=radius;public void setRadius(int i)radius=i;public double getRadius()return radius;public void getArea(double k)area=3.14*k*k;public void getlength(double k)length=2*3.14*k;public v

8、oid print()System.out.println("圓的半徑:"+radius+"t"+"圓的面積"+area+"t"+"圓的周長(zhǎng):"+length);public static void main(String args)Circle c1=new Circle();Circle c2=new Circle(100);c1.setRadius(1);double i=c1.getRadius();c1.getArea(i);c2.getArea(100);c1.getlength(i

9、);c2.getlength(100);c1.print();c2.print();double j=c1.radius;c1.radius=c2.radius;c2.radius=j;System.out.println("");c1.print();c2.print();(4)定義一個(gè)日期類MyDate,至少具有私有成員變量:year、month、day,以及成員方法setYear、getYear等(具體隱藏實(shí)現(xiàn)方法,用于設(shè)置、獲取成員變量)、isRunyear(boolean型,判斷當(dāng)前對(duì)象保存的年是否為閏年)、print(打印日期對(duì)象的年月日信息)。a)在main方

10、法,要求方法中通過“MyDate d1=new MyDate(); MyDate d2=new MyDate(2009,4,1);”分別新建年月日為1999年1月1日的日期對(duì)象和年月日為2009年4月1日的日期對(duì)象,分別打印d1同d2的信息;(5)使d2的年等于d1的年,使d1的月等于原d2的月,分別打印d1同d2的信息;import javax.swing.Spring;public class MyDate private int year;private int month;private int day;public MyDate()public MyDate(int year,int

11、 month,int day)this.year=year;this.month=month;this.day=day;public void setYear(int i,int j,int k)year=i;month=j;day=k;public double getYear()return year;public String isRunyear(double i)if(i%4=0|i%400=0)return "y"return "n"public void print(String i)System.out.println(year+"

12、;年"+month+"月"+day+"日"+"是否閏年"+i);public static void main(String args)MyDate d1=new MyDate();MyDate d2=new MyDate(2009,4,1);d1.setYear(1999,1,1);double i=d1.getYear();String k1=d1.isRunyear(i);String k2=d2.isRunyear(2009);d1.print(k1);d2.print(k2);int j=d1.year;d1.ye

13、ar=d2.year;d2.year=j;int j1=d1.month;d1.month=d2.month;d2.month=j1;d1.print(k2);d2.print(k1);實(shí)驗(yàn)三、對(duì)象和類(包)1實(shí)驗(yàn)?zāi)康模?)理解包的意義,學(xué)會(huì)定義、編譯和運(yùn)行一個(gè)包內(nèi)的類,熟練掌握外部包中具體類和全部類的導(dǎo)入方式,理解包帶來的一種新的java訪問控制機(jī)制。2實(shí)驗(yàn)內(nèi)容和步驟(1)在Eclipse集成開發(fā)環(huán)境中分別新建名com.yourname.ch3和com.yourname.other的兩個(gè)包。(2)將附件1、附件2、附件3添加到工程中,注意附件1和附件2應(yīng)該放在名為“com.yourname.

14、ch3”的包中,附件3應(yīng)放在名為“com.yourname.other”的包中。分別調(diào)試3個(gè)源文件,保證都能編譯成功。在附件2、附件3的main方法中添加語句“Pclass pc=new Pclass();”,分別編譯它們會(huì)出現(xiàn)什么結(jié)果,說明什么?結(jié)果:說明了:將附件3中的“Pclass pc=new Pclass();”改為“com.yourname.ch3.Pclass pc=new com.yourname.ch3.Pclass();”再編譯會(huì)出現(xiàn)什么結(jié)果,為什么?用import導(dǎo)入包c(diǎn)om.yourname.ch3后,再改為“Pclass pc=new Pclass();”可否通過編譯

15、?結(jié)果:為什么:在附件2、附件3的main方法中繼續(xù)添加語句“Dclass dc=new Dclass();”,分別編譯它們會(huì)出現(xiàn)什么結(jié)果,說明什么?從附件3刪除“Dclass dc=new Dclass();”,保證附件3能編譯通過。結(jié)果:說明了:在附件2、附件3的main方法中繼續(xù)添加語句“pc.method1();”,分別編譯它們會(huì)出現(xiàn)什么結(jié)果,說明什么?結(jié)果:說明了:在附件2、附件3的main方法中繼續(xù)添加語句:“pc.method1();pc.method2();pc.method3();pc.method4();”分別編譯它們會(huì)出現(xiàn)什么結(jié)果說明什么(仔細(xì)分析兩個(gè)編譯結(jié)果的不同之處)

16、?刪除不可執(zhí)行的語句確保保證附件2、3都能編譯通過。結(jié)果:說明了:在附件2的main方法中繼續(xù)添加語句:“dc.method1();dc.method2();dc.method3();dc.method4();”編譯附件2會(huì)出現(xiàn)什么結(jié)果說明什么?結(jié)果:說明了:附錄1Pclass.javapackage com.yourname.ch3;class Dclass /default classpublic void method1()System.out.println("public method of a defalut class in package p5");prot

17、ected void method2()System.out.println("protected method of a defalut class in package p5");void method3()System.out.println("defalut method of a defalut class in package p5");private void method4()System.out.println("private method of a defalut class in package p5");pu

18、blic class Pclass /public classpublic void method1()System.out.println("public method of a public class in package p5");protected void method2()System.out.println("protected method of a public class in package p5");void method3()System.out.println("defalut method of a public class in package p5");private void method4()Syst

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論