您好,登錄后才能下訂單哦!
如何理解學(xué)習(xí)Netbeans,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
Netbeans按照Project組織代碼,每個(gè)可執(zhí)行的Java程序都是一個(gè)Project。所以,利用Netbeans開(kāi)始工作的***步就是在Netbeans中新建一個(gè)Project,這可以利用Netbeans中的菜單: File->New Project...,選擇了這個(gè)菜單后,Netbeans會(huì)提示一個(gè)對(duì)話框,要求選擇Project的類型,因?yàn)檫@里只介紹Java的Application,所以在該對(duì)話框的左側(cè)選"Java",右側(cè)選"Java Application",然后按照Netbeans的提示,輸入Project的名稱后,按照默認(rèn)的提示,一路next下去,就可以看到Netbeans新建了一個(gè)Project, 并在這個(gè)Project中生成了一個(gè)名為Main.java的文件,這個(gè)就是Java的源文件了,你可以在這個(gè)文件編寫(xiě)一些基礎(chǔ)的Java代碼。
一個(gè)Project中可以有多個(gè)文件,每一個(gè)文件中都可以編寫(xiě)Java源代碼,Java的源代碼文件的擴(kuò)展名必須是.java,Java程序就是由一個(gè)個(gè)的Java源文件構(gòu)成的。
如果要執(zhí)行所寫(xiě)的代碼,在Netbeans中有兩種方法:
(1)打開(kāi)你寫(xiě)的源文件,如果源文件滿足可執(zhí)行的條件,可以點(diǎn)擊鼠標(biāo)的右鍵,在彈出的菜單里選擇"Run File",也可以按快捷鍵"Shift+F6"
(2)按照Project的設(shè)定運(yùn)行代碼,此時(shí)只要用選擇Netbeans菜單中的Run->Run Main Project,注意,如果在Netbeans中建立了多個(gè)Project,此時(shí)運(yùn)行的是Main Project,有關(guān)Main Project的介紹請(qǐng)參見(jiàn)下文。
下面介紹Netbeans對(duì)Java程序的組織方法和一些Java語(yǔ)言的基礎(chǔ)知識(shí)。
Java以"類(class)"為單位組織程序,每個(gè)Java源文件中可以有一個(gè)或多個(gè)類的定義,但習(xí)慣上,往往一個(gè)Java源文件中只存放一個(gè)類的定義。類(class)是編寫(xiě)Java程序的基本單位。
我們都知道,程序是由代碼構(gòu)成的,而代碼在目前的大多數(shù)編程語(yǔ)言中,都是寫(xiě)在函數(shù)里面的,這就是C語(yǔ)言組織程序的方式;Java在三種基本代碼(即順序、選擇、循環(huán))的語(yǔ)法上和C語(yǔ)言基本上是一樣的,它的代碼也要寫(xiě)在函數(shù)里,但Java進(jìn)一步要求,函數(shù)必須寫(xiě)在類當(dāng)中,數(shù)據(jù),也就變量、常量等等的定義,也必須要寫(xiě)在類當(dāng)中。而類則要寫(xiě)在擴(kuò)展名為.java的源文件中。
一個(gè)程序往往由多個(gè)源文件組成,NetBeans利用Project來(lái)管理它們,每個(gè)Project代表著一種Java程序的類型,比如可以是一個(gè)網(wǎng)站、一個(gè)企業(yè)級(jí)的應(yīng)用程序。Netbeans提供多種Project供編程者選擇。我們學(xué)習(xí)的是Java應(yīng)用程序,所以前面選擇Project的類型是Java Application。
在Netbeans中創(chuàng)建Project的方法就是通過(guò)File->New 菜單,這個(gè)菜單可以反復(fù)使用,以便編程者創(chuàng)建多種Java應(yīng)用程序。這樣,Netbeans中就可能有多個(gè)Project,但這些Project中只有一個(gè)Project是活動(dòng)的,即當(dāng)你利用Netbeans的菜單完成編譯、運(yùn)行等工作時(shí),這些工作只能作用于一個(gè)Project上,該P(yáng)roject被稱為Main Project。當(dāng)你用File->New菜單創(chuàng)建一個(gè)Project時(shí),這個(gè)Project就會(huì)自動(dòng)變?yōu)镸ain Project,它的工程的名字在顯示時(shí)會(huì)是一種黑體顏色。
利用File->New菜單創(chuàng)建Project時(shí),每創(chuàng)建一個(gè)Project,就會(huì)導(dǎo)致Main Project改變?yōu)楫?dāng)前新創(chuàng)建的Project。如果想讓某個(gè)非Main Project成為Main Project,可以用右鍵點(diǎn)擊這個(gè)Project,然后在彈出的菜單中選擇"Set As Main Project"。這一點(diǎn)對(duì)于初學(xué)者相當(dāng)重要,因?yàn)?,在想運(yùn)行Project時(shí),如果該P(yáng)roject不是Main Project,則運(yùn)行的結(jié)果則是另一個(gè)Main Project中程序運(yùn)行的結(jié)果,而不是當(dāng)前的Project的結(jié)果。
下面的這個(gè)圖顯示了上述的內(nèi)容:
Project1(Main Project)
|
|-----------------------Class1.java(類Class1所在的源文件)
| |
| |
| |-----------Class1(類Class1的定義)
| |
| |----------Class1中的變量、常量定義
| |
| |-----------Class1中的函數(shù)定義
|
|-----------------------Class2.java
|
|-----------------------其他類定義所在的源文件
|
Project2(非Main Project,該P(yáng)roject的顏色不是黑體字的顏色)
|
|
|
ProjectN
再介紹一些Java的語(yǔ)義方法的知識(shí):
Java用關(guān)鍵字class定義類,格式如下:
class 類名{
}
類的前面可以用public關(guān)鍵字修飾,也可以沒(méi)有任何修飾。如果一個(gè)類前面用了public修飾,按照J(rèn)ava的要求,該類所在的源文件名必須要和此類的類名一樣,舉個(gè)例子:
類Class1的定義:
public class Class1{
int a;//這是類中的變量定義
void printA(){
//這里是函數(shù)中的代碼
}
}
這時(shí),由于類Class1的定義前有一個(gè)public關(guān)鍵字的修飾,所以Class1的定義代碼必須要存放在一個(gè)名為Class1.java的源文件里,否則會(huì)導(dǎo)致編譯錯(cuò)誤。
為了避免這個(gè)類名和文件名之間的關(guān)聯(lián)問(wèn)題,利用Netbeans編寫(xiě)Java程序時(shí),要加入一個(gè)新的類,可以使用工具欄中最左邊的一個(gè)按鈕,點(diǎn)擊之后,在彈出的對(duì)話框中選擇Java Class,這個(gè)向?qū)?huì)自動(dòng)生成一個(gè)你所指定的類的源文件和大體上的代碼,可以在生成代碼的基礎(chǔ)上進(jìn)一步學(xué)習(xí)類的編寫(xiě)。
為什么Java要求函數(shù)一定要寫(xiě)在類當(dāng)中呢?這就是Java的所謂面向?qū)ο蟮奶匦粤恕3绦蛟O(shè)計(jì)的最終目的是將原來(lái)由人所做的繁雜的事情交給計(jì)算機(jī)去完成,而編程語(yǔ)言就是完成這件工作的工具。人類在做事情時(shí),事情完成的主體是某個(gè)人,這個(gè)人在做事情時(shí)會(huì)結(jié)合自己掌握的資料,來(lái)思考如何根據(jù)這些資料來(lái)做這個(gè)事情;也就是說(shuō),人在做事情的時(shí)候是將數(shù)據(jù)和處理數(shù)據(jù)的方法放在一起來(lái)考慮的。實(shí)際上,面向?qū)ο蟮木幊叹褪悄M了這個(gè)特點(diǎn),它用類來(lái)抽象一個(gè)需要完成的任務(wù):完成這個(gè)任務(wù)的資料,在Java語(yǔ)言中就是類中定義的變量和常量;而做事情的步驟,在Java語(yǔ)言中就是那些寫(xiě)在函數(shù)中的代碼。事實(shí)證明,以類為主體設(shè)計(jì)代碼,可以更有效地表達(dá)編程中涉及到的任務(wù)。
我們可以將這種方式和C語(yǔ)言對(duì)比一下,在C中,寫(xiě)程序的基本單位是函數(shù),而函數(shù)處理的數(shù)據(jù)并沒(méi)有和函數(shù)明確的放在一起。要傳遞這些數(shù)據(jù),要么通過(guò)全局變量,要么通過(guò)函數(shù)的參數(shù),這使得在處理數(shù)據(jù)增多的情況下,函數(shù)的編寫(xiě)變得非常復(fù)雜。而Java語(yǔ)言則以類為寫(xiě)程序的基本單位,通過(guò)合理分配每個(gè)類中的定義的數(shù)據(jù)和函數(shù),在處理大量數(shù)據(jù)的時(shí)候,程序可以對(duì)這些數(shù)據(jù)按照類進(jìn)行分組,再按照這些分組后的數(shù)據(jù)設(shè)計(jì)與之相關(guān)的函數(shù),從而有效地解決了C中需要大量傳遞參數(shù)的問(wèn)題。
其實(shí),設(shè)計(jì)類只是在面向?qū)ο缶幊讨械?**步,類的設(shè)計(jì)相當(dāng)于完成了一個(gè)做事情的圖紙。為了能夠根據(jù)這些圖紙真正做完成任務(wù),就必須執(zhí)行圖紙中描述的任務(wù)。這在Java語(yǔ)言中就是調(diào)用這些類中定義的數(shù)據(jù)和函數(shù),如何去調(diào)用這些類中的數(shù)據(jù)和函數(shù)呢?也就是說(shuō),如何使用定義好的這些類呢?
首先,需要明確的是,Java中的數(shù)據(jù)分為兩種類型:
1、基礎(chǔ)數(shù)據(jù)類型,也被稱為值類型,即類似于C中的那些基礎(chǔ)數(shù)據(jù)類型,如整型、浮點(diǎn)型等等
2、復(fù)合數(shù)據(jù)類型,也被稱為引用數(shù)據(jù)類型,這種數(shù)據(jù)類型就是程序員在源文件中定義的類。其實(shí),類和C中的結(jié)構(gòu)體數(shù)據(jù)類型有些相象,和結(jié)構(gòu)體不同的是,它既具有內(nèi)部的成員的定義,也具有函數(shù)的定義。
Java程序中,編程的實(shí)質(zhì)就是利用復(fù)合數(shù)據(jù)類型,封裝對(duì)于基礎(chǔ)數(shù)據(jù)的處理。類設(shè)計(jì)好了之后,就相當(dāng)于有了一種新的數(shù)據(jù)類型。這種新的數(shù)據(jù)類型如果要使用的話,就要利用這種數(shù)據(jù)類型去聲明一個(gè)變量,然后通過(guò)該變量來(lái)使用類中定義的數(shù)據(jù),或調(diào)用類中定義的函數(shù)。這就是在Java語(yǔ)言中使用類的方式。
用類聲明一個(gè)變量在形式上和定義一個(gè)普通變量差不多,如:
Class1 c1;
這個(gè)形式和C語(yǔ)言中定義結(jié)構(gòu)體類型的變量是很相象的,但和C語(yǔ)言不同的是,結(jié)構(gòu)體類型的變量在聲明后,其中包含的數(shù)據(jù)會(huì)自動(dòng)分配內(nèi)存,而Java的類這種類型的變量必須要明確的分配給它內(nèi)存,否則,它將無(wú)法使用。分配的語(yǔ)法如下:
c1=new Class1();
也可以把這兩句合并在一起:
Class1 c1=new Class1();
定義了類型為Class1,名為c1的變量之后,如何去調(diào)用Class1中定義的變量和函數(shù)呢?
對(duì)于類中定義的變量,可以用這種方式對(duì)其進(jìn)行引用:
c1.變量名
可以看到,Java中引用類中定義的變量的方式和C中引用結(jié)構(gòu)體成員的方式也是一致的。
對(duì)于類中定義的函數(shù),可以用這種方式進(jìn)行調(diào)用:
c1.函數(shù)名(實(shí)際參數(shù)列表);
在明確了類的使用方式之后,那么上述對(duì)類中的變量和函數(shù)進(jìn)行調(diào)用的語(yǔ)句從那里開(kāi)始執(zhí)行呢?
這里需要一個(gè)程序執(zhí)行的開(kāi)始點(diǎn)。Java和C一樣,都有一個(gè)名為main的函數(shù),但Java對(duì)這個(gè)函數(shù)有一系列的要求,即這個(gè)函數(shù)必須要按照如下方式定義:
public static void main(String args[]){
//編寫(xiě)執(zhí)行代碼
}
在這個(gè)函數(shù)中,將上述調(diào)用類中的數(shù)據(jù)和函數(shù)的代碼寫(xiě)在這里就會(huì)得到執(zhí)行了。
綜上所述,Java的程序設(shè)計(jì)的步驟可按以下三步來(lái)做:
1、考慮要解決的問(wèn)題,看看它可以分成幾個(gè)部分來(lái)解決,每個(gè)部分都需要哪些數(shù)據(jù)和處理這些數(shù)據(jù)的函數(shù)
2、按照步驟1中的所列的部分,設(shè)計(jì)類,在類中定義需要處理的數(shù)據(jù)和函數(shù)
3、考慮這些設(shè)計(jì)好的類如何調(diào)用,將調(diào)用的代碼寫(xiě)在如下的一個(gè)函數(shù)里:
public static void main(String args[]){
//編寫(xiě)執(zhí)行代碼
}
由于Java要求所有的函數(shù)都要放到類中定義,所以,這個(gè)main函數(shù)也要放在一個(gè)類中進(jìn)行定義,習(xí)慣上,會(huì)把main函數(shù)放到一個(gè)單獨(dú)的文件中,在該文件中定義其所在的類,該類被稱為Java程序的主類(Netbeans在生成Project時(shí),默認(rèn)情況下就會(huì)生成這個(gè)主類的代碼,同時(shí)會(huì)給它起一個(gè)叫做"Main"的名稱)。
在Java中,由于變量或常量都要定義在類中,所以這種定義在類中的變量或常量被稱為"字段",也有的書(shū)上叫它們?yōu)?quot;屬性",還有的書(shū)上叫它們"數(shù)據(jù)成員";而函數(shù)也要定義在類當(dāng)中,一般術(shù)語(yǔ)上稱之為"方法"。
一個(gè)Java程序中,理論上講,應(yīng)該只有一個(gè)類中有main方法(函數(shù)),但有時(shí),為了編程方便,可能會(huì)有不止一個(gè)類包含有main方法。凡是包含有main方法的類都是可以運(yùn)行的,在Netbeans中,在這種文件中點(diǎn)擊右鍵,就可直接運(yùn)行它,這就是在開(kāi)頭提到的***種運(yùn)行Java程序的方式。上面說(shuō)的第二種方式,即通過(guò)選擇Run->Run Main Project運(yùn)行Java程序,這種方式要求Main Project必須指定到底是要運(yùn)行哪個(gè)類中的main方法。在默認(rèn)情況下,創(chuàng)建Project時(shí),生成的Main.java中的Main類中的main方法就是在選擇Run->Run Main Project是運(yùn)行的方法。如果你想更改這個(gè)設(shè)定,可以在工程名稱上面點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中選擇"Properties",在彈出的對(duì)話框的左側(cè)選擇"Run"結(jié)點(diǎn),然后在右側(cè)的"Main Class:"編輯框中輸入包含main方法的類名,或點(diǎn)擊編輯框右側(cè)"Browse"按鈕,讓Netbeans幫你指定要運(yùn)行的主類。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。