重拾Java回憶錄(二):Java02類和對象,javajava02
類:主觀的抽象,對象的模版,可以執行個體化成為對象---定義一種模版,而模版不能直接的使用
---使用類就需要建立成為對象
--將現實中的具體對象,進行抽象的結果(強調對象之間的相同點,忽略不同的過程)
--使用抽象結果: 將模版進行具體化(執行個體化),用執行個體化的結果進行操作
習慣上定義類的格式
Package XXX;
Import XXX;
[修飾符] Class 類名{
屬性:用變數表示(基本資料的類型)
行為:使用方法表示(基本的語句的方法)
構造方法(建立類時使用的方法,主要的功能是給類中的屬性賦予初值)
}
--類 ,對象 ,執行個體 3者之間的關係
類: 對象的模版,執行個體化成為對象(構成空間的模版)
對象 :類的個體(引用的指標)
執行個體 : 實現的對象(記憶體空間)
Student s=new Student();
作業:
1.產生100個0-999之間的隨機整數,然後判斷這100個隨機
整數哪些是素數,哪些不是?
程式分析:素數就是僅能被1和它自身整除的整數。判定一
個整數n是否為素數就是要判定整數n能否被除1和它自身之
外的任意整數整除,若都不能整除,則n為素數。
程式設計時i可以從2開始,到該整數n的1/2為止,用i依次
去除需要判定的整數,只要存在可以整除該數的情況,即可
確定要判斷的整數不是素數,否則是素數。
【程式2】
2.在螢幕上列印出n行的金字塔圖案,如,若n=5,則圖案如下:
*
***
*****
*******
*********
3.將一個數組中的元素倒排過來,不能新開一個數組的臨
時儲存空間,只能在原數組上改。
4.建立一個數組類,數組的初始化大小為10個元素.當數組裡的元素填滿的時候,數組類的
容量自動的擴充10個.寫一個測試類別測試以上的程式!
5.(1)寫一個類,名為Animal,該類有兩個私人屬性,name
(代表動物的名字),和legs(代表動物的腿的條數);
要求為兩個私人屬性提供public的存取方法。並提供
兩個重載的構造方法,一個需要兩個參數,分別用這
兩個參數給私人屬性name和legs賦值。另一個無參,
預設給name賦值為AAA,給legs賦值為4;另要求在第二
個構造方法中調用第一個構造方法。該類還有兩個重
載的move()方法,其中一個無參,在螢幕上輸出一行
文字:XXXMoving!!(XXX為該動物的名字);另一個需
要一個int參數n,在螢幕上輸出XXX Moving n 米!!
(2)寫一個類Fish,繼承自Animal類,並提供一個構造方法,
該構造方法需要一個參數name,並給legs賦預設值0;該
類還要求覆蓋Animal類中的無參move()方法,要求輸出
:XXXSwimming!!
(3)寫一個類Bird,繼承自Animal類,並提供一個構造方法,
該構造方法需要一個參數name,並給legs賦預設值2;該
類還要求覆蓋Animal類中的無參move()方法,要求輸出
:XXXFlying!!
(4)寫一個類Zoo,定義一個主方法,在主方法中分別產生若
幹個Animal,Fish和Bird.並調用他們的屬性和方法。
6.寫一個類Person,包含以下屬性:String name; int age;
boolean gender ;Person partner(配偶)。為Person類寫一
個marry(Person p)方法,代表當前對象和p結婚,如若可以結
婚,則輸出恭賀資訊,否則輸出不能結婚原因。要求在另外一
個類中寫一個主方法,來測試以上程式。
下列情況不能結婚:
1,同性;
2,未達到結婚年齡,男<24,女<22;
3,某一方已婚