實驗報告三(完整版)_第1頁
實驗報告三(完整版)_第2頁
實驗報告三(完整版)_第3頁
實驗報告三(完整版)_第4頁
實驗報告三(完整版)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、eststaticSystem.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(PassValueTest b) b =

3、this;)public static void main(String args) PassValueTest obj = new PassValueTest();int temp = 100;obj.testl (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é)果:原因:(2)編譯附件3,分析結(jié)

4、果;將“注釋這行”所在的行注釋,再將注釋的 釋,再次編譯,觀察結(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 ();)*/public void nonstat

5、icmethod()System.out.println(啡靜態(tài)方法被調(diào)用");)public static void staticmethod()System.out.println(靜態(tài)方法被調(diào)用");call2方法去掉注public static void main(String arg)StaticTest obj=new Test2();StaticTest.call1();StaticTest.call2(obj);)結(jié)果:原因:double i=c1.getRadius();c1.getArea(i);c2.getArea(100);c1.getlength(

6、i);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();(3)定義一個圓類 Circle,至少具有私有成員變量:radiu s( double型,用于保存半徑)、are a double 型,用于保存面積)、length (double型,用于保存周長),以及成員方法setRadius getRadius(用 于設(shè)置、獲取半徑)、getA

7、rea (用于獲得面積)、getLength (用于獲取周長)、print (打印圓對象 的半徑、面積、周長信息)。a)在 main 方法,要求方法中通過 “ Circle c1=new Circle(); Circle c2=new Circle(100);分別新建半徑為1和半徑為100的圓對象,分別打印c1同c2的信息;b)使c2的半徑等于c1的半徑,使c1的半徑等于原c2的半徑,分別打印c1同c2的信息;public class Circle privatedoubleradius ;privatedoublearea ;privatedoublelength ;publicCircle

8、()publicCircle(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 void print() System. out .println( "圓的半徑:"+radius +"t&qu

9、ot;+"圓的面積"+area +"t"+"圓的周長:+ length );public static void main(String口 args) Circle c1= new Circle();Circle c2= new Circle(100); c1.setRadius;(4)定義一個日期類 MyDate,至少具有私有成員變量:year; month、day,以及成員方法setYear getYea邙(具體隱藏實現(xiàn)方法,用于設(shè)置、獲取成員變量)、isRunyea(boolean型,判斷當前對 象保存的年是否為閏年)、print (打印

10、日期對象的年 月 日信息)。a)在 main 方法,要求方法 中通過 “ MyDate d1=new MyDate(); MyDate d2=new MyDate(2009,4,1);分別新建年月日為1999年1月1日的日期對象和年月日為 2009年4月1日的 日期對象,分別打印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

11、()public MyDate(int year,int 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

12、 i)Sy ste m. o ut. p ri nt I n (y e a r+"年"+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);dl.print(

13、kl);d2.print(k2);int j=d1.year;d1 .year=d2.year;d2.year=j;int j1=d1 .month;d1 ,month=d2.month;d2.month=j1;d1.print(k2);d2.print(k1);)實驗三、對象和類(包)1 實驗?zāi)康? 1)理解包的意義,學(xué)會定義、編譯和運行一個包內(nèi)的類,熟練掌握外部包中具體類和全部類的導(dǎo)入方式,理解包帶來的一種新的java訪問控制機制。2實驗內(nèi)容和步驟(1)在 Eclipse 集成開發(fā)環(huán)境中分另U新建名 com.yourname.ch3F口 com.yourname.otherfi勺兩個 包。

14、( 2)將附件1、附件2、附件3 添加到工程中,注意附件1 和附件 2 應(yīng)該放在名為“com.yourname.ch3的包中,附件 3應(yīng)放在名為“ com.yourname.other的包中。分別調(diào)試 3個 源文件,保證都能編譯成功。 在附件2、附件3的main方法中添加語句“ Pclass pc=new Pclass();分別編譯它們會出 現(xiàn)什么結(jié)果,說明什么?結(jié)果:說明了: 將 附 件 3 中 的 “ Pclass pc=new Pclass()”; 改 為 “ com.yourname.ch3.Pclasspc=new com.yourname.ch3.PclasS()再編譯會出現(xiàn)什么結(jié)

15、果,為什么?用 import導(dǎo)入包 com.yourname.ch3 后,再改為“ Pclass pc=new Pclass();可否通過編譯?結(jié)果:為什么: 在附件2、附件3的main方法中繼續(xù)添加語句“ Dclass dc=new Dclass():',分別編譯它結(jié)果:說明了: 在附件2、附件3的main方法中繼續(xù)添加語句“pc.method1():',分別編譯它們會出現(xiàn)什么結(jié)果,說明什么?結(jié)果:說明了: 在附件 2、附件 3 的 main 方法中繼續(xù)添加語句: “pc.method1();pc.method2();pc.method3();pc.method4();” 分

16、別編譯它們會出現(xiàn)什么結(jié)果說明什么 (仔細分析兩個編譯結(jié)果的不同之處) ?刪除不可執(zhí)行的語句確保保證附件 2、 3 都能編譯通過。結(jié)果:說明了: 在附件 2 的 main 方法中繼續(xù)添加語句: “dc.method1();dc.method2();dc.method3();dc.method4();”編譯附件 2 會出現(xiàn)什么結(jié)果說明什么?結(jié)果:說明了:們會出現(xiàn)什么結(jié)果, 說明什么?從附件3刪除“Dclass dc=new Dclass(”);, 保證附件 3 能編譯通過。附錄 1 Pclass.java package com.yourname.ch3;class Dclass /default

17、 classpublic void methodi ()System.out.printlnf'public method of a defalut class in package p5");protected void method2()System.out.println("protected method of a defalut class in package p5");void method3()System.out.printlnf'defalut method of a defalut class in package p5&qu

18、ot;);private void method4()System.out.printlnf'private method of a defalut class in package p5");public class Pclass /public classpublic void methodi ()System.out.printlnf'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.printlnf'defalut method of a public class in package p5");)private void method4(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論