Java語言是面向?qū)ο蟮某绦蛟O(shè)計語言,Java程序的基本組成單元是類,類體中又可包括屬性與方法兩部分。而每一個應(yīng)用程序都必須包含一個main()方法,含有main()方法的類稱之為主類。
目前創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、滄縣網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
一: Java程序的主類及其格式
作為一個可以獨立運行的Java程序,在它的眾多類中必須要有一個類作為程序的起始類,為了方便,本書把這個類稱為主類。當需要執(zhí)行一個程序時,人們在java命令后面輸入的便是這個主類的文件名(也是主類名),因此主類文件是Java運行環(huán)境建立起來之后第一個被裝入虛擬機的用戶文件。為了使虛擬機可以找到程序運行的起始入口,主類必須為public類,并含有一個在格式上符合約定的入口方法main(),其格式如下:
public static void main(String[] args){
…
}
其中各參數(shù)含義如下。
main:入口方法名稱。
args:命令行參數(shù),這是一個String對象數(shù)組。
static:修飾字,說明main()是一個靜態(tài)方法(類方法)。
public:修飾字,說明main()具有公有訪問屬性。
于是,主類框架的源代碼如下:
public class 主類名{
…
public static void main(String[] args){
…
}
}
Java程序的主類常常使熟悉C/C++的讀者感到迷惑:main()方法不就相當于C/C++程序中的主函數(shù)嗎,為什么非得把它放到一個類里,難道它有什么不同嗎?
沒錯,Java類中main()方法就相當于C/C++程序中的主函數(shù),是一個入口函數(shù)。之所以把它封裝到一個類里,而不像C/C++那樣單獨作為一個函數(shù)來處理,就本書作者的理解,大概Java的設(shè)計者們有如下幾個方面的考慮。
1)Java既然把所有事物都看成了對象,那么就沒有理由不把程序也看成對象,因為程序也是一種事物。既然是對象,那么它就應(yīng)該屬于某個類并以程序名來命名。既然程序是一種類,那么main()就應(yīng)該是這個類的一個方法,只不過它有些特殊,它是一個入口方法,并且對它有些特殊規(guī)定,例如其名稱必須為main(),必須是公有靜態(tài)方法,有命令行參數(shù)等。
2)如果把程序封裝成了類,那么包括本程序在內(nèi)的任何程序就都可以根據(jù)需要,隨時創(chuàng)建這個類的對象,并通過該對象使用這個類中的資源,這樣就便于資源共享,從而提高程序的靈活性。
3)Java程序是一種以類為基本單位的模塊化程序,程序被編譯后,每一個類會對應(yīng)生成一個二進制字節(jié)碼類文件。如果把程序也封裝成類,那么它的文件就與其他類文件統(tǒng)一起來,而不會產(chǎn)生其他類型的文件,因而便于管理。
4)之所以把入口方法封裝到類中,其根本目的就是要盡可能平等地看待所有的類。因為Java的最終目的是要以類為基本模塊來實現(xiàn)可裝配軟件,如果把main()方法封裝到了一個類中,那么就意味著main()與類的其他方法沒什么本質(zhì)區(qū)別,只不過是分工不同而已。下面很快就會看到,Java的所有類都可以含有一個入口方法而成為主類。也就是說,在Java程序中根本就沒有主類、次類之分,這里之所以把帶有main()方法的類稱為主類,是為了表達方便。
二: JAVA源程序在命令行下的運行
class?Bank{
public?void?init(){
System.out.println("Yes,I?can");
}
public?static?void?main(String?args[]){
BankAccount?ba1?=?new?BankAccount(100.00);
System.out.print("Before?transactions,?");
ba1.display();
ba1.deposit(74.35);
ba1.withdraw(20.00);
System.out.print("After?transactions,?");
ba1.display();
Bank?b?=?new?Bank();
b.init();
}
}
class?BankAccount{
private?double?balance;
public?BankAccount(double?openingBalance){
balance?=?openingBalance;
}
public?void?deposit(double?amount){
balance?+=?amount;
}
public?void?withdraw(double?amount){
balance?-=?amount;
}
public?void?display(){
System.out.println("balance?=?"?+?balance);
}
}
三:完整的java源程序應(yīng)該包括下列部分
package語句;
import語句;
public classDefinition; // 公共的類定義部分,至多只有一個公共類的定義
// java語言規(guī)定該java源程序的文件名必須與該公共類名完全一致
classDefinition; // 類定義部分,可以有0個或多個
interfaceDefinition; // 接口定義部分,可以有0個或多個
package:java編譯器為每個類生成一個字節(jié)碼文件,且文件名與類名相同,這就會帶來一個問題:同名的類會發(fā)生沖突。package便可管理類命名空間。
一般地,具有相同功能的類放在一個package中。
一個java源程序至多只能有一個公共類的定義。
若java源程序有一個公共類的定義,則該源文件名字必須與該公共類的名字完全相同。
若源程序中不包含公共類的定義,則該文件名可以任意取名。
若一個源程序中有多個類定義,則在編譯時將為每個類生成一個。class文件。
三。java編程規(guī)范
包名:全小寫的名詞,中間可由點分割,eg:java.awt.event
類名:首字母大寫,多個單詞合成,每個單詞首字母也要大寫,eg: class HelloWorldApp
接口名: 同類名,eg: interface Collection
方法名: 由多個單詞合成,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,eg: balanceAccount, isButtonPressed
變量名: 全小寫,一般為名詞,eg: length
常量名: 基本數(shù)據(jù)類型的常量名為全大寫,如果由多個單詞構(gòu)成,可以用下劃線隔開,eg: int YEAR, int WEEK_OF_MONTH
對象類型的常量,則是小寫混合,由大寫字母把單詞隔開
java程序結(jié)構(gòu)有三種:順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu),這個就是按照代碼的順序從上至下依次執(zhí)行;
選擇結(jié)構(gòu),通常使用 if..else..或者switch...case;
循環(huán)結(jié)構(gòu),for循環(huán),while循環(huán),我一般使用這兩個,還有一個do...while循環(huán),這個我沒咋用過。。。。
類是Java程序中基本的結(jié)構(gòu)單位。
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。
Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復(fù)雜的編程。
擴展資料:
Java原來是用作編寫消費類家用電子產(chǎn)品軟件的語言,所以它是被設(shè)計成寫高可靠和穩(wěn)健軟件的。Java消除了某些編程錯誤,使得用它寫可靠軟件相當容易。
Java是一個強類型語言,它允許擴展編譯時檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風格的隱式聲明。這些嚴格的要求保證編譯程序能捕捉調(diào)用錯誤,這就導(dǎo)致更可靠的程序。
可靠性方面最重要的增強之一是Java的存儲模型。Java不支持指針,它消除重寫存儲和訛誤數(shù)據(jù)的可能性。類似地,Java自動的“無用單元收集”預(yù)防存儲漏泄和其它有關(guān)動態(tài)存儲分配和解除分配的有害錯誤。Java解釋程序也執(zhí)行許多運行時的檢查,諸如驗證所有數(shù)組和串訪問是否在界限之內(nèi)。
參考資料來源:百度百科-Java