定義類
在Java語言中,類是基本的構成要素,是對象的模闆,Java程式中所有的對象都是由類建立的。
一個Java類主要包括以下兩部分:
類的聲明
類的主體
類的聲明
在類聲明中,需要定義類的名稱、對該類的通路權限、該類與其他類的關系等。類聲明的格式如下:
[修飾符] class <類名> [extends 父類名] [implements 接口清單]{ }
[修飾符]用于指定類的通路權限,可選值為public、abstract和final。
類名用于指定類的名稱,類名必須是合法的Java辨別符。一般情況下,要求首字母大寫。
[extends 父類]名用于指定要繼承參數。
[implements 接口清單]用于指定該類實作的所有接口。
類體
類聲明部分大括号中的内容為類體。
類體主要由以下兩部分構成:
(1)成員變量的定義;
(2)成員方法的定義。
成員變量和局部變量
在類體中所聲明的變量稱為類的成員變量,
而在方法體中聲明的變量和方法的參數則稱為局部變量。
聲明成員變量
Java用成員變量來表示類的狀态和屬性,聲明成員變量的基本文法格式如下:
[修飾符] [static] [final] <變量類型> <變量名>;
修飾符:可選參數,用于指定變量的被通路權限,可選值為public、protected和private。
static:可選,用于指定該成員變量為靜态變量,可以直接通過類名通路。如果省略該關鍵字,則表示該成員變量為執行個體變量。
final:可選,用于指定該成員變量為取值不會改變的常量。
變量類型:必選:用于指定變量的資料類型,其值可以為Java中的任何一種資料類型。
變量名:必選,用于指定成員變量的名稱,變量名必須是合法的Java辨別符。
public class Apple {
public String color; //聲明公共變量color
public static int count; //聲明靜态變量count
public final boolean MATURE=true; //聲明常量MATURE并指派
public static void main(String[] args) {
System.out.println(Apple.count);
Apple apple=new Apple();
System.out.println(apple.color);
System.out.println(apple.MATURE);
}
}
聲明局部變量
定義局部變量的基本文法格式同定義成員變量類似,所不同的不能使用權限修是不和static關鍵字對局部變量進行修飾,但可以使用final關鍵字:
[final] <變量類型> <變量名>;
final:可選,用于指定該局部變量為常量。
變量類型:必選,用于指定變量的資料類型,其值可以為Java中的任何一種資料類型。
變量名:必選,用于指定局部變量的名稱,變量名必須是合法的Java辨別符。
public void grow(){
final boolean STATE; //聲明常量STATE
int age; //聲明局部變量age
}
變量的有效範圍
(1)成員變量:在類中聲明,在整個類中有效。
(2)局部變量:在方法内或方法内的複合代碼塊
public class Olympics {
private int medal_All=800; //成員變量
public void China(){
int medal_CN=100; //方法的局部變量
if(medal_CN<1000){ //代碼塊
int gold=50; //代碼塊的局部變量
medal_CN+=50; //允許通路
medal_All-=150; //允許通路
}
}
}
成員方法
Java中類的行為由類的成員方法來實作。
類的成員方法由方法聲明和方法體兩部分組成。
其一般格式如下:
[修飾符] <方法傳回值的類型> <方法名>( [參數清單]) {
[方法體]
}
[修飾符]用于指定方法的通路權限,可選值為public、protected和private。
方法傳回值的類型用于指定該方法的傳回值的類型,如果該方法沒有傳回值,必須使用關鍵字void進行辨別。方法傳回值的類型可以是任何Java資料類型。
[參數清單]用于指定方法中所需的參數。當存在多個參數時,各參數之間應使用逗号分隔。方法的參數可以是任何Java資料類型。
注意事項
類體是由成員變量和成員方法組成。
而對成員變量的操作隻能放在方法中
public class A {
int a = 12; // 聲明變量的時候同時賦予初始值
}
但是不能這樣:
public class A {
int a ;
a = 12; // 這樣是非法的,此操作隻能出現在方法體中
}