類別(Class)-基礎- Java學習筆記
文章推薦指數: 80 %
類別(Class)可說是建立物件的一個藍圖,是一個使用者自行定義的資料型態。
... 由以上範例可知class有如一個分類,該分類定義了各種特徵、行為、運作方式, 藉由表示某物是 ...
首頁
簡介
Hello,World!
變數類型
運算子
常用變數方法
基本輸入
條件式
迴圈式
模糊化程式設計-方法(Method)
字串(String)
陣列(Array)
類別(Class)-基礎
類別(Class)-進階
例外處理(Exception)
視窗程式設計
視窗程式設計-低階事件
視窗程式設計-語意事件
檔案處理
繪圖與多媒體
網路程式設計
.
類別(Class)-基礎
類別(Class)可說是建立物件的一個藍圖,是一個使用者自行定義的資料型態。
先以一個範例說明之:
class部分程式
classanimal{
privateintlegs;
privateinteyes;
publicvoidsetLegsEyes(intlegs,inteyes){
this.legs=legs;
this.eyes=eyes;
}
}
publicclassexample{
publicstaticvoidmain(String[]args){
animalcats=newanimal();
cats.setLegsEyes(4,2);
}
}
}
分項說明
建立類別animal{
宣告成員變數legs(型態int,隱藏)
宣告成員變數eyes(型態int,隱藏)
宣告成員方法setLegsEyes(型態void,公開,回傳值(intlegs,inteyes)){
成員變數等於回傳值legs
成員變數等於回傳值eyes
}
}
主程式class{
主程式{
宣告變數cats(型態animal)
使用成員方法並傳值
}
}
}
由以上範例可知class有如一個分類,該分類定義了各種特徵、行為、運作方式,
藉由表示某物是該類別來使用內部的成員變數、成員方法。
成員變數、成員方法
class中可以定義成員變數、成員方法以供宣告後使用。
成員變數就如同先前的宣告變數一樣,可以使用int、float、double等型態。
以一個範例來說明如何使用成員變數:
classfurniture{
publicintlegs;
}
publicclassexample{
publicstaticvoidmain(String[]args){
furnituretable=newfurniture();
table.legs=4;
}
}
再以一個範例來說明如何使用成員方法:
classcalculate{
publicintsummary(intx,inty){
returnx+y;
}
}
publicclassexample{
publicstaticvoidmain(String[]args){
calculatetest=newcalculate();
intx=test.summary(3,5);
}
}
使用類別
直接使用
使用類別的方式就像先前宣告變數一樣,class名稱加上自訂的名稱即可。
接著若要使用內部的成員變數、成員方法則以『.』連接。
宣告時先執行部分程式,或傳入變數
先以一個範例:
classtest{
privateintx,y;
publictest(intx,inty){
this.x=x;
this.y=y;
}
publicvoidsummary(){
System.out.println(x+y);
}
}
publicclassexample{
publicstaticvoidmain(String[]args){
testx=newtest(3,5);
x.summary();
}
}
由以上範例可知,若要讓類別在宣告時先執行某些程式,或是傳入建構子,
須在類別內新增一個成員,其名稱須與類別名稱相同,且不得加入型態名稱。
資訊隱藏(Private)、資訊公開(Public)、資訊保護(protected)
在class中,成員方法及成員變數須為public才能從外部取得、使用。
若定義為private則僅能在class內供其他成員變數、方法使用。
若定義為protected,則僅能於該類別與其子類別使用,詳見這裡
過載(Overload)
class內可以宣告相同名稱不同回傳值的成員方法,程式會依回傳值型態自行判斷。
範例如下:
classcalculate{
publicintsummary(intx,inty){
returnx+y;
}
publicdoublesummary(doublex,doubley){
returnx+y;
}
}
publicclassexample{
publicstaticvoidmain(String[]args){
calculatetest=newcalculate();
intx=test.summary(3,5);
doubley=test.summary(6.75,8.16);
}
}
this
當成員方法的傳入值變數名稱跟欲改變之成員變數名稱相同時,可以使用this來處理其衝突。
classfurniture{
privateintlegs;
publicvoidsetLegs(intlegs){
this.legs=legs;
}
}
publicclassexample{
publicstaticvoidmain(String[]args){
furnituretable=newfurniture();
table.setLegs(4);
}
}
延伸文章資訊
- 1類別函數 - Java 學習系列
類別變數:物件共享,佔用在同一個記憶體. 類別函數:可以直接呼叫. 類別函數的定義方式也是相同的:. 加上static 就可以定義為類別函數.
- 2類別(Class)-基礎- Java學習筆記
類別(Class)可說是建立物件的一個藍圖,是一個使用者自行定義的資料型態。 ... 由以上範例可知class有如一個分類,該分類定義了各種特徵、行為、運作方式, 藉由表示某物是 ...
- 3Inner Class)、自訂資料型態@ Penguin 工作室,一起JAVA吧!
事實上我們撰寫的JAVA程式都是包含在一個類別(Class)裡面的,像是先前我們所建立的public class HelloWorld { }就是一個類別,在類別中我們可以宣告變數、方法等, ...
- 4我要學會Java (二):物件導向其實很簡單 - Noob's Space
類別方法撰寫的方式和一般的方法基本上一樣,只是呼叫的時候,不需要建立物件就可以呼叫了。 把上面的範例加上建構子和類別方法大概是這樣: class ...
- 5Java :: 定義類別
如何使用Java 告訴電腦衣服的設計圖呢?你會先在程式中定義類別,這相當於上圖中衣服的設計圖:. class Clothes { String color; char size; }.