




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java 基礎語法一個Java程序可以認為是一系列對象的集合,而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和實例變量的概念。· 對象:對象是類的一個實例,有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。· 類:類是一個模板,它描述一類對象的行為和狀態。· 方法:方法就是行為,一個類可以有很多方法。邏輯運算、數據修改以及所有動作都是在方法中完成的。· 實例變量:每個對象都有獨特的實例變量,對象的狀態由這些實例變量的值決定。第一個Java程序下面看一個簡單的Java程序,它將打印字符串
2、160;Hello World實例public class HelloWorld /* 第一個Java程序 * 它將打印字符串 Hello World */ public static void main(String args) System.out.println("Hello
3、World"); / 打印 Hello World 基本語法編寫Java程序時,應注意以下幾點:· 大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。· 類名:對于所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass 。· 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。· 源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用
4、類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。· 主方法入口:所有的Java 程序由public static void main(String args)方法開始執行。Java標識符Java所有的組成部分都需要名字。類名、變量名以及方法名都被稱為標識符。關于Java標識符,有以下幾點需要注意:· 所有的標識符都應該以字母(A-Z或者a-z),美元符($)、或者下劃線(_)開始· 首字符之后可以是任何字符的組合· 關鍵字不能用作標識符· 標識符是大小寫敏感的·
5、合法標識符舉例:age、$salary、_value、_1_value· 非法標識符舉例:123abc、-salaryJava修飾符像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:· 可訪問修飾符 : default, public , protected, private· 不可訪問修飾符 : final, abstract, strictfp在后面的章節中我們會深入討論Java修飾符。Java變量Java中主要有如下幾種類型的變量· 局部變量· 類變量(靜態變量)· 成員變量(非靜態變量)Java數組
6、數組是儲存在堆上的對象,可以保存多個同類型變量。在后面的章節中,我們將會學到如何聲明、構造以及初始化一個數組。Java枚舉Java 5.0引入了枚舉,枚舉限制變量只能是預先設定好的值。使用枚舉可以減少代碼中的bug。例如,我們為果汁店設計一個程序,它將限制果汁為小杯、中杯、大杯。這就意味著它不允許顧客點除了這三種尺寸外的果汁。實例class FreshJuice enum FreshJuiceSize SMALL, MEDUIM, LARGE FreshJuiceSize size;public class FreshJuiceTest public static void main(Stri
7、ng args) FreshJuice juice = new FreshJuice(); juice.size = FreshJuice. FreshJuiceSize.MEDUIM ; 注意:枚舉可以單獨聲明或者聲明在類里面。方法、變量、構造函數也可以在枚舉中定義。Java關鍵字下面列出了Java保留字。這些保留字不能用于常量、變量、和任何標識符的名稱。關鍵字描述abstract抽象方法,抽象類的修飾符assert斷言條件是否滿足boolean布爾數據類型break跳出循環或者label代碼段byte8-bit 有符號數據類型caseswitch語句的一個條件catch和try搭配撲捉異常
8、信息char16-bit Unicode字符數據類型class定義類const未使用continue不執行循環體剩余部分defaultswitch語句中的默認分支do循環語句,循環體至少會執行一次double64-bit雙精度浮點數elseif條件不成立時執行的分支enum枚舉類型extends表示一個類是另一個類的子類final表示一個值在初始化之后就不能再改變了表示方法不能被重寫,或者一個類不能有子類finally為了完成執行的代碼而設計的,主要是為了程序的健壯性和完整性,無論有沒有異常發生都執行代碼。float32-bit單精度浮點數forfor循環語句goto未使用If條件語句impl
9、ements表示一個類實現了接口import導入類instanceof測試一個對象是否是某個類的實例int32位整型數interface接口,一種抽象的類型,僅有方法和常量的定義long64位整型數native表示方法用非java代碼實現new分配新的類實例package一系列相關類組成一個包private表示私有字段,或者方法等,只能從類內部訪問protected表示字段只能通過類或者其子類訪問子類或者在同一個包內的其他類public表示共有屬性或者方法return方法返回值short16位數字static表示在類級別定義,所有實例共享的strictfp浮點數比較使用嚴格的規則super表示
10、基類switch選擇語句synchronized表示同一時間只能由一個線程訪問的代碼塊this表示調用當前實例或者調用另一個構造函數throw拋出異常throws定義方法可能拋出的異常transient修飾不要序列化的字段try表示代碼塊要做異常處理或者和finally配合表示是否拋出異常都執行finally中的代碼void標記方法不返回任何值volatile標記字段可能會被多個線程同時訪問,而不做同步whilewhile循環Java注釋類似于C/C+,Java也支持單行以及多行注釋。注釋中的字符將被Java編譯器忽略。public class HelloWorld /* 這是第一個Java程
11、序 *它將打印Hello World * 這是一個多行注釋的示例 */ public static void main(String args) / 這是單行注釋的示例 /* 這個也是單行注釋的示例 */ System.out.println("Hello World"); Java 空行空白行,或者有注釋的的行,Java編譯器都會忽略掉。繼承在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那么你可以將新創建的類繼承該類。利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super c
12、lass),派生類稱為子類(subclass)。接口在Java中,接口可理解為對象間相互通信的協議。接口在繼承中扮演著很重要的角色。接口只定義派生要用到的方法,但是方法的具體實現完全取決于派生類。下一節介紹Java編程中的類和對象。之后你將會對Java中的類和對象有更清楚的認識。Java 對象和類Java作為一種面向對象語言。支持以下基本概念:45· 多態· 繼承· 封裝· 抽象· 類· 對象· 實例· 方法· 重載本節我們重點研究對象和類的概念。· 對象:對象是類的一個實例,有狀態和行為。例如
13、,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。· 類:類是一個模板,它描述一類對象的行為和狀態。Java中的對象現在讓我們深入了解什么是對象。看看周圍真實的世界,會發現身邊有很多對象,車,狗,人等等。所有這些對象都有自己的狀態和行為。拿一條狗來舉例,它的狀態有:名字、品種、顏色,行為有:叫、搖尾巴和跑。對比現實對象和軟件對象,它們之間十分相似。軟件對象也有狀態和行為。軟件對象的狀態就是屬性,行為通過方法體現。在軟件開發中,方法操作對象內部狀態的改變,對象的相互調用也是通過方法來完成。Java中的類類可以看成是創建Java對象的模板。通過下面一個簡單的類來
14、理解下Java中類的定義:public class Dog String breed; int age; String color; void barking() void hungry() void sleeping() 一個類可以包含以下類型變量:· 局部變量:在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。· 成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化。成員變量可以被類中方法、構造方法和特定類的語句塊訪問。· 類變量:類變量也聲明在類中,方法體之外,但必須
15、聲明為static類型。一個類可以擁有多個方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog類的方法。構造方法每個類都有構造方法。如果沒有顯式地為類定義構造方法,Java編譯器將會為該類提供一個默認構造方法。在創建一個對象的時候,至少要調用一個構造方法。構造方法的名稱必須與類同名,一個類可以有多個構造方法。下面是一個構造方法示例:public class Puppy public Puppy() public Puppy(String name) / 這個構造器僅有一個參數:name 創建對象對象是根據類創建的。在Java中,使用關鍵字new來創建一個新
16、的對象。創建對象需要以下三步:· 聲明:聲明一個對象,包括對象名稱和對象類型。· 實例化:使用關鍵字new來創建一個對象。· 初始化:使用new創建對象時,會調用構造方法初始化對象。下面是一個創建對象的例子:public class Puppy public Puppy(String name) /這個構造器僅有一個參數:name System.out.println("Passed Name is :" + name ); public static void main(String args) / 下面的語句將創建一個Puppy對象 Pup
17、py myPuppy = new Puppy( "tommy" ); 編譯并運行上面的程序,會打印出下面的結果:Passed Name is :tommy訪問實例變量和方法通過已創建的對象來訪問成員變量和成員方法,如下所示:/* 實例化對象 */ObjectReference = new Constructor();/* 訪問其中的變量 */ObjectReference.variableName;/* 訪問類中的方法 */ObjectReference.MethodName();實例下面的例子展示如何訪問實例變量和調用成員方法:public class Puppy int
18、 puppyAge; public Puppy(String name) / 這個構造器僅有一個參數:name System.out.println("Passed Name is :" + name ); public void setAge( int age ) puppyAge = age; public int getAge( ) System.out.println("Puppy's age is :" + puppyAge ); return puppyAge; public static void main(String args)
19、 /* 創建對象 */ Puppy myPuppy = new Puppy( "tommy" ); /* 通過方法來設定age */ myPuppy.setAge( 2 ); /* 調用另一個方法獲取age */ myPuppy.getAge( ); /*你也可以像下面這樣訪問成員變量 */ System.out.println("Variable Value :" + myPuppy.puppyAge ); 編譯并運行上面的程序,產生如下結果:Passed Name is :tommyPuppy's age is :2Variable Valu
20、e :2源文件聲明規則在本節的最后部分,我們將學習源文件的聲明規則。當在一個源文件中定義多個類,并且還有import語句和package語句時,要特別注意這些規則。· 一個源文件中只能有一個public類· 一個源文件可以有多個非public類· 源文件的名稱應該和public類的類名保持一致。例如:源文件中public類的類名是Employee,那么源文件應該命名為Employee.java。· 如果一個類定義在某個包中,那么package語句應該在源文件的首行。· 如果源文件包含import語句,那么應該放在package語句和類定義之間。
21、如果沒有package語句,那么import語句應該在源文件中最前面。· import語句和package語句對源文件中定義的所有類都有效。在同一源文件中,不能給不同的類不同的包聲明。類有若干種訪問級別,并且類也分不同的類型:抽象類和final類等。這些將在訪問控制章節介紹。除了上面提到的幾種類型,Java還有一些特殊的類,如:內部類、匿名類。Java包包主要用來對類和接口進行分類。當開發Java程序時,可能編寫成百上千的類,因此很有必要對類和接口進行分類。Import語句在Java中,如果給出一個完整的限定名,包括包名、類名,那么Java編譯器就可以很容易地定位到源代碼或者類。Im
22、port語句就是用來提供一個合理的路徑,使得編譯器可以找到某個類。例如,下面的命令行將會命令編譯器載入java_installation/java/io路徑下的所有類import java.io.*;一個簡單的例子在該例子中,我們創建兩個類:Employee和EmployeeTest。首先打開文本編輯器,把下面的代碼粘貼進去。注意將文件保存為Employee.java。Employee類有四個成員變量:name、age、designation和salary。該類顯式聲明了一個構造方法,該方法只有一個參數。import java.io.*;public class Employee String
23、 name; int age; String designation; double salary; / Employee 類的構造器 public Employee(String name) = name; / 設置age的值 public void empAge(int empAge) age = empAge; /* 設置designation的值*/ public void empDesignation(String empDesig) designation = empDesig; /* 設置salary的值*/ public void empSalary(dou
24、ble empSalary) salary = empSalary; /* 打印信息 */ public void printEmployee() System.out.println("Name:"+ name ); System.out.println("Age:" + age ); System.out.println("Designation:" + designation ); System.out.println("Salary:" + salary); 程序都是從main方法開始執行。為了能運行這個程
25、序,必須包含main方法并且創建一個實例對象。下面給出EmployeeTest類,該類實例化2個Employee類的實例,并調用方法設置變量的值。將下面的代碼保存在EmployeeTest.java文件中。import java.io.*;public class EmployeeTest public static void main(String args) /* 使用構造器創建兩個對象 */ Employee empOne = new Employee("James Smith"); Employee empTwo = new Employee("Mary
26、Anne"); / 調用這兩個對象的成員方法 empOne.empAge(26); empOne.empDesignation("Senior Software Engineer"); empOne.empSalary(1000); empOne.printEmployee(); empTwo.empAge(21); empTwo.empDesignation("Software Engineer"); empTwo.empSalary(500); empTwo.printEmployee(); 編譯這兩個文件并且運行EmployeeTest類
27、,可以看到如下結果:C :> javac Employee.javaC :> vi EmployeeTest.javaC :> javac EmployeeTest.javaC :> java EmployeeTestName:James SmithAge:26Designation:Senior Software EngineerSalary:1000.0Name:Mary AnneAge:21Designation:Software EngineerSalary:500.0Java 基本數據類型變量就是申請內存來存儲值。也就是說,當創建變量的時候,需要在內存中申請空
28、間。內存管理系統根據變量的類型為變量分配存儲空間,分配的空間只能用來儲存該類型數據。因此,通過定義不同類型的變量,可以在內存中儲存整數、小數或者字符。Java的兩大數據類型:· 內置數據類型· 引用數據類型內置數據類型Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。byte:· byte數據類型是8位、有符號的,以二進制補碼表示的整數;· 最小值是-128(-27);· 最大值是127(27-1);· 默認值是0;· byte類型用在大型數組中節約空間,主要代替整數,因為
29、byte變量占用的空間只有int類型的四分之一;· 例子:byte a = 100,byte b = -50。short:· short數據類型是16位、有符號的以二進制補碼表示的整數· 最小值是-32768(-215);· 最大值是32767(215 - 1);· Short數據類型也可以像byte那樣節省空間。一個short變量是int型變量所占空間的二分之一;· 默認值是0;· 例子:short s = 1000,short r = -20000。int:· int數據類型是32位、有符號的以二進制補碼表示的
30、整數;· 最小值是-2,147,483,648(-231);· 最大值是2,147,485,647(231 - 1);· 一般地整型變量默認為int類型;· 默認值是0;· 例子:int a = 100000, int b = -200000。long:· long數據類型是64位、有符號的以二進制補碼表示的整數;· 最小值是-9,223,372,036,854,775,808(-263);· 最大值是9,223,372,036,854,775,807(263 -1);· 這種類型主要使用在需要比較大整數
31、的系統上;· 默認值是0L;· 例子: long a = 100000L,Long b = -200000L。float:· float數據類型是單精度、32位、符合IEEE 754標準的浮點數;· float在儲存大型浮點數組的時候可節省內存空間;· 默認值是0.0f;· 浮點數不能用來表示精確的值,如貨幣;· 例子:float f1 = 234.5f。double:· double數據類型是雙精度、64位、符合IEEE 754標準的浮點數;· 浮點數的默認類型為double類型;· doub
32、le類型同樣不能表示精確的值,如貨幣;· 默認值是0.0d;· 例子:double d1 = 123.4。boolean:· boolean數據類型表示一位的信息;· 只有兩個取值:true和false;· 這種類型只作為一種標志來記錄true/false情況;· 默認值是false;· 例子:boolean one = true。char:· char類型是一個單一的16位Unicode字符;· 最小值是u0000(即為0);· 最大值是uffff(即為65,535);· char數
33、據類型可以儲存任何字符;· 例子:char letter = A。實例對于數值類型的基本類型的取值范圍,我們無需強制去記憶,因為它們的值都已經以常量的形式定義在對應的包裝類中了。請看下面的例子:public class PrimitiveTypeTest public static void main(String args) / byte System.out.println("基本類型:byte 二進制位數:" + Byte.SIZE); System.out.println("包裝類:java.lang.Byte"); System.ou
34、t.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); / short System.out.println("基本類型:short 二進制位數:" + Short.SIZE); System.out.println("包裝類:java.lang.Short"); System.out.println(&qu
35、ot;最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); / int System.out.println("基本類型:int 二進制位數:" + Integer.SIZE); System.out.println("包裝類:java.lang.Integer"); System.out.println("最小值:In
36、teger.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); / long System.out.println("基本類型:long 二進制位數:" + Long.SIZE); System.out.println("包裝類:java.lang.Long"); System.out.println("最小值:Long.MI
37、N_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); / float System.out.println("基本類型:float 二進制位數:" + Float.SIZE); System.out.println("包裝類:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=&quo
38、t; + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); / double System.out.println("基本類型:double 二進制位數:" + Double.SIZE); System.out.println("包裝類:java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" +
39、 Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); / char System.out.println("基本類型:char 二進制位數:" + Character.SIZE); System.out.println("包裝類:java.lang.Character"); / 以數值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺 System.out.p
40、rintln("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); / 以數值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); 編譯以上代碼輸出結果如下所示:基本類型:byte 二進制位數:8包裝類:java.lang.Byte最小值:Byte.MIN_VALUE=-128最大值:Byte.MAX_VALUE=127基本類型
41、:short 二進制位數:16包裝類:java.lang.Short最小值:Short.MIN_VALUE=-32768最大值:Short.MAX_VALUE=32767基本類型:int 二進制位數:32包裝類:java.lang.Integer最小值:Integer.MIN_VALUE=-2147483648最大值:Integer.MAX_VALUE=2147483647基本類型:long 二進制位數:64包裝類:java.lang.Long最小值:Long.MIN_VALUE=-9223372036854775808最大值:Long.MAX_VALUE=922337203685477580
42、7基本類型:float 二進制位數:32包裝類:java.lang.Float最小值:Float.MIN_VALUE=1.4E-45最大值:Float.MAX_VALUE=3.4028235E38基本類型:double 二進制位數:64包裝類:java.lang.Double最小值:Double.MIN_VALUE=4.9E-324最大值:Double.MAX_VALUE=1.7976931348623157E308基本類型:char 二進制位數:16包裝類:java.lang.Character最小值:Character.MIN_VALUE=0最大值:Character.MAX_VALUE=
43、65535Float和Double的最小值和最大值都是以科學記數法的形式輸出的,結尾的"E+數字"表示E之前的數字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。實際上,JAVA中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作。引用類型· 引用類型變量由類的構造函數創建,可以使用它們訪問所引用的對象。這些變量在聲明時被指定為一個特定的類型,比如Employee、Pubby等。變量
44、一旦聲明后,類型就不能被改變了。· 對象、數組都是引用數據類型。· 所有引用類型的默認值都是null。· 一個引用變量可以用來引用與任何與之兼容的類型。· 例子:Animal animal = new Animal(“giraffe”)。Java常量常量就是一個固定值。它們不需要計算,直接代表相應的值。常量指不能改變的量。 在Java中用final標志,聲明方式和變量類似:final double PI = 3.1415927;雖然常量名也可以用小寫,但為了便于識別,通常使用大寫字母表示常量。字面量可以賦給任何內置類型的變量。例如:byte a = 68
45、;char a = 'A'byte、int、long、和short都可以用十進制、16進制以及8進制的方式來表示。當使用常量的時候,前綴0表示8進制,而前綴0x代表16進制。例如:int decimal = 100;int octal = 0144;int hexa = 0x64;和其他語言一樣,Java的字符串常量也是包含在兩個引號之間的字符序列。下面是字符串型字面量的例子:"Hello World""twonlines"""This is in quotes""字符串常量和字符常量都可以包含任何
46、Unicode字符。例如:char a = 'u0001'String a = "u0001"Java語言支持一些特殊的轉義字符序列。符號字符含義n換行 (0x0a)r回車 (0x0d)f換頁符(0x0c)b退格 (0x08)s空格 (0x20)t制表符"雙引號'單引號反斜杠ddd八進制字符 (ddd)uxxxx16進制Unicode字符 (xxxx)這一節講解了Java的基本數據類型。下一節將探討不同的變量類型以及它們的用法。Java 變量類型在Java語言中,所有的變量在使用前必須聲明。聲明變量的基本格式如下:type identifi
47、er = value, identifier = value . ;格式說明:type為Java數據類型。identifier是變量名。可以使用逗號隔開來聲明多個同類型變量。以下列出了一些變量的聲明實例。注意有些包含了初始化過程。int a, b, c; / 聲明三個int型整數:a、 b、 d = 3, e, f = 5; / d聲明三個整數并賦予初值。byte z = 22; / 聲明并初始
48、化z。double pi = 3.14159; / 聲明了pi。char x = 'x' / 變量x的值是字符'x'。Java語言支持的變量類型有:· 局部變量· 成員變量· 類變量Java局部變量· 局部變量聲明在方法、構造方法或者語句塊中;· 局部變量在方法、構造方法、或者語句塊被執行的時候創建,當它們執行完成后,變量將會被銷毀;· 訪問修飾符不能用于局部變量;· 局部變量只在聲明它的方法、構造方法或者語句
49、塊中可見;· 局部變量是在棧上分配的。· 局部變量沒有默認值,所以局部變量被聲明后,必須經過初始化,才可以使用。實例1在以下實例中age是一個局部變量。定義在pubAge()方法中,它的作用域就限制在這個方法中。public class Test public void pupAge() int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); public static void main(String args) Test test = new Test(); t
50、est.pupAge(); 以上實例編譯運行結果如下:Puppy age is: 7實例2在下面的例子中age變量沒有初始化,所以在編譯時出錯。public class Test public void pupAge() int age; age = age + 7; System.out.println("Puppy age is : " + age); public static void main(String args) Test test = new Test(); test.pupAge(); 以上實例編譯運行結果如下:Test.java:4:variable
51、number might not have been initializedage = age + 7; 1 error實例變量· 實例變量聲明在一個類中,但在方法、構造方法和語句塊之外;· 當一個對象被實例化之后,每個實例變量的值就跟著確定;· 實例變量在對象創建的時候創建,在對象被銷毀的時候銷毀;· 實例變量的值應該至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式獲取實例變量信息;· 實例變量可以聲明在使用前或者使用后;· 訪問修飾符可以修飾實例變量;· 實例變量對于類中的方法、構造方法或者語句塊是可見的
52、。一般情況下應該把實例變量設為私有。通過使用訪問修飾符可以使實例變量對子類可見;· 實例變量具有默認值。數值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null。變量的值可以在聲明時指定,也可以在構造方法中指定;· 實例變量可以直接通過變量名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。實例:import java.io.*;public class Employee / 這個成員變量對子類可見 public String nam
53、e; / 私有變量,僅在該類可見 private double salary; /在構造器中對name賦值 public Employee (String empName) name = empName; /設定salary的值 public void setSalary(double empSal) sal
54、ary = empSal; / 打印信息 public void printEmp() System.out.println("name : " + name ); System.out.println("salary :" + salary); public static vo
55、id main(String args) Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); 以上實例編譯運行結果如下:name : Ransikasalary :1000.0類變量(靜態變量)· 類變量也稱為靜態變量,在類中以static關鍵字
56、聲明,但必須在方法構造方法和語句塊之外。· 無論一個類創建了多少個對象,類只擁有類變量的一份拷貝。· 靜態變量除了被聲明為常量外很少使用。常量是指聲明為public/private,final和static類型的變量。常量初始化后不可改變。· 靜態變量儲存在靜態存儲區。經常被聲明為常量,很少單獨使用static聲明變量。· 靜態變量在程序開始時創建,在程序結束時銷毀。· 與實例變量具有相似的可見性。但為了對類的使用者可見,大多數靜態變量聲明為public類型。· 默認值和實例變量相似。數值型變量默認值是0,布爾型默認值是false,引
57、用類型默認值是null。變量的值可以在聲明的時候指定,也可以在構造方法中指定。此外,靜態變量還可以在靜態語句塊中初始化。· 靜態變量可以通過:ClassName.VariableName的方式訪問。· 類變量被聲明為public static final類型時,類變量名稱必須使用大寫字母。如果靜態變量不是public和final類型,其命名方式與實例變量以及局部變量的命名方式一致。實例:import java.io.*;public class Employee /salary是靜態的私有變量 private static double salary; /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省延邊州汪清縣四中2025屆高一下化學期末調研模擬試題含解析
- 廣東華南師大附中2025屆高一下化學期末監測模擬試題含解析
- 晉城公墓管理暫行辦法
- 昭通墓地管理暫行辦法
- 合肥社區人員管理辦法
- 機械維修制度管理辦法
- 趣味性與原動力在學習和生活中的作用研究
- 公安房產裝修管理辦法
- 公安應急保障管理辦法
- 北京接待經費管理辦法
- 以工代賑群眾務工組織方案
- 義務教育新課標必背古詩詞135篇
- 營養專科護士總結匯報
- 熱射病科普宣傳
- 6S視覺管理之定置劃線顏色管理及標準樣式
- 數字資產的監管框架
- DL∕T 5783-2019 水電水利地下工程地質超前預報技術規程
- 100MW400MWh全釩液流電池儲能電站項目可行性研究報告寫作模板-拿地申報
- 老版入團志愿書表格完整
- 四柱萬能液壓機液壓系統 (1)講解
- 檔案管理借閱制度
評論
0/150
提交評論