JAVA例及實驗_第1頁
JAVA例及實驗_第2頁
JAVA例及實驗_第3頁
JAVA例及實驗_第4頁
JAVA例及實驗_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、例7.8 將圓柱體類Cylinder里的變量pi和num聲明為靜態(tài)變量編寫程序如下:/filename:App7_8.java 靜態(tài)變量的使用class Cylinder /定義類Cylinderprivate static int num=0; /聲明num為靜態(tài)變量private static double pi=3.14; /聲明pi為靜態(tài)變量,并賦初值private double radius;private int height;public Cylinder(double r,int h) /定義有兩個參數(shù)的構(gòu)造方法radius=r;height=h;num+; /當構(gòu)造方法Cyl

2、inder()被調(diào)用時,num便加1public void count() /當count()方法用來顯示目前創(chuàng)建對象的個數(shù)(創(chuàng)建了+num+個對象:);double area()return pi*radius*radius;double volume()return area()*height;public class App7_8 /主類public static void main(String args)Cylinder volu1=new Cylinder(2.5,5);volu1.count();(圓柱1的體積=+volu1.volume();Cylinder volu2=new

3、 Cylinder(1.0,2);volu2.count();(圓柱2的體積=+volu2.volume();運行結(jié)果如下:例7.9 利用圓柱體類Cylinder來介紹靜態(tài)方法的使用 程序編寫如下:/filename:App7_9.java 靜態(tài)方法的使用class Cylinder /定義類Cylinderprivate static int num=0; private static double pi=3.14; private double radius;private int height;public Cylinder(double r,int h) radius=r;height

4、=h;num+; /當構(gòu)造方法Cylinder()被調(diào)用時,num便加1public static void count() /當count()為靜態(tài)方法(創(chuàng)建了+num+個對象);double area()return pi*radius*radius;double volume()return area()*height;public class App7_9 /主類public static void main(String args)Cylinder.count();Cylinder volu1=new Cylinder(2.5,3);volu1.count();(圓柱1的體積=+vo

5、lu1.volume();Cylinder volu2=new Cylinder(1.0,2);Cylinder.count();(圓柱2的體積=+volu2.volume();運行結(jié)果如下: 例7.10創(chuàng)建圓柱體類Cylinder,并對該類生成的對象進行賦值運算。/filename App7_10.javaclass Cylinder /定義類Cylinderprivate static double pi=3.14;private double radius;private int height;public Cylinder(double r,int h)radius=r;height=

6、h;public void setCylinder(double r,int h)radius=r;height=h;double volume()return pi*radius*radius*height;public class App7_10 /主類public static void main(String args)Cylinder volu1,volu2; /聲明volu1,volu2兩個引用型變量volu1=new Cylinder(2.5,5); /創(chuàng)建對象,并將volu1指向它(圓柱1的體積=+volu1.volume();volu2=volu1; /將volu1賦值給vo

7、lu2,volu2也指向了該對象volu2.setCylinder(1.0,2); /重新設置圓柱的底半徑和高(圓柱2的體積=+volu1.volume();程序運行結(jié)果及其分析:在該例的主方法main()中,聲明了volu1,volu2兩個Cylinder類型的變量,但只創(chuàng)建了一個對象volu1。對于volu2,使用了賦值語句volu2=volu1,將兩個不同名的引用變量指向同一個對象。故通過任一個引用變量對對象進行修改,另一個引用變量所指向的對象內(nèi)容也會隨之更改。例7.11以圓柱體類Cylinder的對象為參數(shù)進行方法調(diào)用,并說明對象的比較。/filename App7_11.javacl

8、ass Cylinder /定義類Cylinderprivate static double pi=3.14;private double radius;private int height;public Cylinder(double r,int h)radius=r;height=h;public void compare(Cylinder volu) /以對象作為方法的參數(shù)if(this=volu) /判斷this與volu是否指向同一對象(這兩個對象相等);else(這兩個對象不相等);public class App7_11 /主類public static void main(St

9、ring args)Cylinder volu1=new Cylinder(1.0,2);Cylinder volu2=new Cylinder(1.0,2);Cylinder volu3=volu1;pare(volu2); /調(diào)用compare(),比較volu1與volu2是否相等pare(volu3); /調(diào)用compare(),比較volu1與volu3是否相等程序運行結(jié)果及其分析:在該例中,Cylinder類的compare()方法接收的參數(shù)是對象,并用if(this=volu)語句判斷兩個引用變量是否相等。在主方法main()中,聲明了三個引用變量volu1,volu2和volu

10、3,并且用相同的實參創(chuàng)建了兩個對象volu1和volu2。然而volu1與volu2是兩個彼此獨立的對象,是兩個占據(jù)不同內(nèi)存空間地址的不同對象。引用變量volu1與volu2的值分別是這兩個對象在內(nèi)存中的首地址,顯然它們是不相等的;而volu1與volu3是指向同一個對象的兩個變量,它們的值是同一對象在內(nèi)存中的首地址,故兩者相等。例7.12創(chuàng)建個人類Person,在該類中定義一個以對象作為返回值的方法compare()。/filename App7_12.javaclass Person /定義類Personprivate String name;private int age;public

11、Person(String name,int age)=name;this.age=age;public Person compare(Person p) /返回值的類型為對象if(this.agep.age)return this; /返回值調(diào)用該方法的對象elsereturn p; /返回參數(shù)對象public class App7_12public static void main(String args)Person per1=new Person(張三,20);Person per2=new Person(李四,21);Person per3;per3=pare(pe

12、r2);if(per3=per1)(張三年齡大);else(李四年齡大);程序運行結(jié)果及其分析:該程序是通過比較兩個對象的成員變量age的大小,來返回age的值較大的對象。例7.13對象數(shù)組的應用。以個人類Person為類型,創(chuàng)建數(shù)組。/filename App7_13.javaclass Personprivate String name;private int age;public Person(String name,int age)=name;this.age=age;public void show()(姓名:+name+年齡:+age);public class

13、App7_13public static void main(String args)Person per; /聲明類類型的數(shù)據(jù)per=new Person3; /用new運算符為數(shù)組分配內(nèi)存空間per0=new Person(張三,20); /用new運算符創(chuàng)建新對象,并分配給數(shù)組元素per1=new Person(李四,21);per2=new Person(王二,19);per2.show(); /利用對象per2調(diào)用show()方法per0.show();程序運行結(jié)果及其分析:在主方法main()中,定義了包含3個元素的數(shù)組per,其類型為Person類類型,即數(shù)組元素是Person類

14、型的變量,所以程序中分別用數(shù)組元素指向新建對象的內(nèi)存地址。用不同的對象調(diào)用相應的show()方法,則顯示出相應對象的成員數(shù)據(jù)。例7.14以對象組作為參數(shù)傳遞給方法,返回對象數(shù)組中最小的成員變量。/filename App7_14.javaclass Personprivate String name;private int age;public Person(String name,int age)=name;this.age=age;public static int minAge(Person p) /以對象數(shù)組作為參數(shù)傳遞給方法int min=Integer.MAX_V

15、ALUE;for(int i=0;ip.length;i+)if(pi.agemin) min=pi.age; /將對象數(shù)組中成員變量age的最小值存入變量min中return min; /返回對象數(shù)組中最小的成員變量的值public class App7_14public static void main(String args)Person per=new Person3;per0=new Person(張三,20);per1=new Person(李四,21);per2=new Person(王二,19);(最小的年齡為:+Person.minAge(per);程序運行結(jié)果及其分析:實驗

16、26 類的私有成員與公共成員 實驗要求 :編寫一個Java程序,在程序中定義一個Person類,其中age屬性是一個私有屬性,并且范圍在520之間class PersonString name;private int age;public boolean setAge(int newAge)if(5=newAge&newAge=20)age=newAge;return(true);elsereturn(false);public int getAge()return(age);public class Apppublic static void main(String args)Person

17、s1=new Person();=張三;if(s1.setAge(25)(姓名:++,年齡:+s1.getAge();else(年齡錯誤);運行結(jié)果如下:實驗27 類的構(gòu)造方法1 實驗要求 :編寫一個Java程序 ,在程序中定義Student類,Student類有三個構(gòu)造方法,分別對不同的屬性進行初始化 編寫程序如下class Student /定義類Student.String name;int age;public Student() /定義無參的構(gòu)造方法。(Student()構(gòu)造方法被調(diào)用);public Student(String c) /定義有一個參數(shù)的

18、構(gòu)造方法。name=c;(Student(String newName)構(gòu)造方法被調(diào)用);public Student(String a,int b) /定義有兩個參數(shù)的構(gòu)造方法。name=a;age=b;(Student(String newName,int newAge)構(gòu)造方法被調(diào)用);public static void main(String args)Student volu1=new Student(); /創(chuàng)建Student類的一個對象,不傳入?yún)?shù)Student volu2=new Student(張三); /創(chuàng)建Student類的一個對象,傳入一個參數(shù):”張三”Student

19、 volu3=new Student(張三,15); /創(chuàng)建Student類的一個對象,傳入兩個參數(shù):”張三”、15運行結(jié)果如下程序分析如下:程序中的 Student類有三個構(gòu)造方法,分別對不同的屬性進行初始化。實驗28 類的構(gòu)造方法2實驗要求:編寫一個Java程序 ,在程序中定義一個Employee類,Employee類有四個構(gòu)造方法,分別對不同的屬性進行初始化,有一個setAge()方法能設置age屬性值,有一個getAge()方法能返回age屬性值程序編寫如下:class Employeeprivate String name;private int age;private double

20、 salary;public Employee(String newName,int newAge,double newSalary)this(newAge,newSalary);(三個參數(shù)的構(gòu)造方法被調(diào)用);name=newName;public Employee(int newAge,double newSalary)this(newSalary);(兩個參數(shù)的構(gòu)造方法被調(diào)用);age=newAge;public Employee(double newSalary)this();(一個參數(shù)的構(gòu)造方法被調(diào)用);salary=newSalary;public Employee()(沒有參數(shù)的構(gòu)

21、造方法被調(diào)用);void setAge(int newAge)int age=0;this.age=newAge;int getAge()return age;public static void main(String args)Employee s1=new Employee(李四,30,8000);s1.setAge(31);(年齡是+s1.getAge();運行結(jié)果如下:實驗29 編寫一個java程序,在程序中定義一個MyPlus類,MyPlus類有三個plus()方法,分別對不同的參數(shù)進行求和。/MyPlus.javaclass MyPluspublic int plus(int a

22、,int b)int s;s=a+b;return s;public int plus(int a,int b,int c)int s;s=plus(a,b)+c;return s;public int plus(int a,int b,int c,int d)int s;s=plus(a,b,c)+d;return s;public static void main(String args)MyPlus p=new MyPlus();(1+2=+p.plus(1,2);(1+2+3=+p.plus(1,2,3);(1+2+3+4=+p.plus(1,2,3,4);程序運行結(jié)果:實驗30 編寫一個java程序,在程序中定義一個Ca類,Ca類有靜態(tài)成員和非靜態(tài)成員,再定義一個Cb類

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論