當前位置:首頁 » 編程語言 » java類的結構

java類的結構

發布時間: 2023-06-09 19:33:50

㈠ 請問java中的類是什麼意思

Java創建一個類的關鍵字為class,基本語法格式為public class ClassName{};在開發中,通常類的名字首字母大寫。類中包含了類的特定屬性,比如我們創建一個動物類,動物有自己的屬性名字,年齡等屬性特點,我們創建好動物這個類之後,當需要一個動物的時候,就去創建一個動物的對象,之後使用這個具體的對象進行操作就可以。創建對象的關鍵字是new,基本語法為 ClassName objectName = new ClassName();
在Java中類的構造函數包含有參構造函數和無參構造函數,默認如果不在類中寫構造函數,默認有一個無參的構造函數,當創建一個對象的時候,默認使用的就是這個構造函數。
如果需要在創建對象的時候就將對象的屬性值設置好,就需要一個有參構造函數,在創建對象的時候,將參數傳入即可。如果創建一個有參的構造函數,那麼默認的無參構造函數將會被覆蓋,如果還需要一個無參構造函數,則需要手動重寫一個無參構造函數。
Java類可以被繼承,子類會繼承父類的一些屬性值,但是子類也可以有自己的一些特定屬性,小狗(子類)屬於動物(父類),有動物這個種類的所有屬性,但是小狗也有屬於自己的特性。在開發中我們會將具有某些基本屬性的歸為一類,如果另一個類也有這些屬性,而且它還有屬於自己的特性,可以將子類繼承於父類,這樣子類就包含了父類所有的屬性。
Java類的繼承關鍵字是extends,基本語法為: public class ChiledClass extends ParentClass{};
在子類中,有時候雖然繼承了父類的屬性值,但是有時候,我們需要子類中的該屬性值有自己的特點,這時候,我們可以重寫父類的屬性方法,將該屬性設置為我們需要的值,這樣雖然子類繼承於父類,但是也有自己的獨特性。
在開發中,我們通常會將類的屬性設置為私有的,這樣外部就不會隨意訪問到這個屬性。但是為了讓外部能夠訪問該屬性值,我們通常使用 set和get方法去設置和獲取該屬性值,這樣如果開發中不想讓別人隨意修改該屬性,可以將set方法去掉,只留下get方法,這樣這個屬性就只可以訪問而不可以修改,很好的保護的這個屬性值,不讓別人去隨意修改。

㈡ java工作原理

Java工作原理
由四方面組成:

(1)Java編程語言
(2)Java類文件格式
(3)Java虛擬機
(4)Java應用程序介面
當編輯並運行一個Java程序時,需要同時涉及到這四種方面。使用文字編輯軟體(例如記事本、寫字板、UltraEdit等)或集成開發環境(Eclipse、MyEclipse等)在Java源文件中定義不同的類 ,通過調用類(這些類實現了Java API)中的方法來訪問資源系統,把源文件編譯生成一種二進制中間碼,存儲在class文件中,然後再通過運行與操作系統平台環境相對應的Java虛擬機來運行class文件,執行編譯產生的位元組碼,調用class文件中實現的方法來滿足程序的Java API調用 。

㈢ JAVA數據結構有哪幾種

JAVA數據結構有以下幾種:

1、List:

List是有序的Collection,使用此介面能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似於數組下 >標)來訪問List中的元素,這類似於Java的數組。

2、Vector:

基於數組(Array)的List,其實就是封裝了數組所不具備的一些功能方便我們使用,所以它難易避免數組的限制,同時性能也不可能超越數組。

另外很重要的一點就是Vector是線程同步的(sychronized)的,這也是Vector和ArrayList 的一個的重要區別。

3、ArrayList:

同Vector一樣是一個基於數組上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector好一些,但是當運行到多線程環境中時,可需要自己在管理線程的同步問題。

4、LinkedList:

LinkedList不同於前面兩種List,它不是基於數組的,所以不受數組性能的限制。 它每一個節點(Node)都包含兩方面的內容:節點本身的數據(data),下一個節點的信息(nextNode)。

所以當對LinkedList做添加,刪除動作的時候就不用像基於數組的ArrayList一樣,必須進行大量的數據移動。只要更改nextNode的相關信息就可以實現了,這是LinkedList的優勢。

5、HashSet:

雖然Set同List都實現了Collection介面,但是他們的實現方式卻大不一樣。List基本上都是以Array為基礎。

但是Set則是在 HashMap的基礎上來實現的,這就是Set和List的根本區別。HashSet的存儲方式是把HashMap中的Key作為Set的對應存儲項。

6、HashMap:

基於哈希表的 Map 介面的實現。此實現提供所有可選的映射操作,並允許使用 null 值和 null 鍵。(除了不同步和允許使用 null 之外,HashMap 類與 Hashtable 大致相同。)此類不保證映射的順序,特別是它不保證該順序恆久不變。

7、HashTable:

Hashtable 是一個散列表,它存儲的內容是鍵值對(key-value)映射。Hashtable 繼承於Dictionary,實現了Map、Cloneable、java.io.Serializable介面。

Hashtable 的函數都是同步的,這意味著它是線程安全的。它的key、value都不可以為nul

㈣ 介紹下Java程序的結構

Java語言是面向對象的程序設計語言,Java程序的基本組成單元是類,類體中又可包括屬性與方法兩部分。而每一個應用程序都必須包含一個main()方法,含有main()方法的類稱之為主類。


一: Java程序的主類及其格式

作為一個可以獨立運行的Java程序,在它的眾多類中必須要有一個類作為程序的起始類,為了方便,本書把這個類稱為主類。當需要執行一個程序時,人們在java命令後面輸入的便是這個主類的文件名(也是主類名),因此主類文件是Java運行環境建立起來之後第一個被裝入虛擬機的用戶文件。為了使虛擬機可以找到程序運行的起始入口,主類必須為public類,並含有一個在格式上符合約定的入口方法main(),其格式如下:

public static void main(String[] args){

}

其中各參數含義如下。

main:入口方法名稱。

args:命令行參數,這是一個String對象數組。

static:修飾字,說明main()是一個靜態方法(類方法)。

public:修飾字,說明main()具有公有訪問屬性。

於是,主類框架的源代碼如下:

public class 主類名{

public static void main(String[] args){

}

}

Java程序的主類常常使熟悉C/C++的讀者感到迷惑:main()方法不就相當於C/C++程序中的主函數嗎,為什麼非得把它放到一個類里,難道它有什麼不同嗎?

沒錯,Java類中main()方法就相當於C/C++程序中的主函數,是一個入口函數。之所以把它封裝到一個類里,而不像C/C++那樣單獨作為一個函數來處理,就本書作者的理解,大概Java的設計者們有如下幾個方面的考慮。

1)Java既然把所有事物都看成了對象,那麼就沒有理由不把程序也看成對象,因為程序也是一種事物。既然是對象,那麼它就應該屬於某個類並以程序名來命名。既然程序是一種類,那麼main()就應該是這個類的一個方法,只不過它有些特殊,它是一個入口方法,並且對它有些特殊規定,例如其名稱必須為main(),必須是公有靜態方法,有命令行參數等。

2)如果把程序封裝成了類,那麼包括本程序在內的任何程序就都可以根據需要,隨時創建這個類的對象,並通過該對象使用這個類中的資源,這樣就便於資源共享,從而提高程序的靈活性。

3)Java程序是一種以類為基本單位的模塊化程序,程序被編譯後,每一個類會對應生成一個二進制位元組碼類文件。如果把程序也封裝成類,那麼它的文件就與其他類文件統一起來,而不會產生其他類型的文件,因而便於管理。

4)之所以把入口方法封裝到類中,其根本目的就是要盡可能平等地看待所有的類。因為Java的最終目的是要以類為基本模塊來實現可裝配軟體,如果把main()方法封裝到了一個類中,那麼就意味著main()與類的其他方法沒什麼本質區別,只不過是分工不同而已。下面很快就會看到,Java的所有類都可以含有一個入口方法而成為主類。也就是說,在Java程序中根本就沒有主類、次類之分,這里之所以把帶有main()方法的類稱為主類,是為了表達方便。


二: JAVA源程序在命令行下的運行

classBank{
publicvoidinit(){
System.out.println("Yes,Ican");
}
publicstaticvoidmain(Stringargs[]){
BankAccountba1=newBankAccount(100.00);
System.out.print("Beforetransactions,");
ba1.display();
ba1.deposit(74.35);
ba1.withdraw(20.00);
System.out.print("Aftertransactions,");
ba1.display();
Bankb=newBank();
b.init();
}
}
classBankAccount{
privatedoublebalance;
publicBankAccount(doubleopeningBalance){
balance=openingBalance;
}
publicvoiddeposit(doubleamount){
balance+=amount;
}
publicvoidwithdraw(doubleamount){
balance-=amount;
}
publicvoiddisplay(){
System.out.println("balance="+balance);
}
}

三:完整的java源程序應該包括下列部分

package語句;

import語句;

public classDefinition; // 公共的類定義部分,至多隻有一個公共類的定義

// java語言規定該java源程序的文件名必須與該公共類名完全一致

classDefinition; // 類定義部分,可以有0個或多個

interfaceDefinition; // 介面定義部分,可以有0個或多個

package:java編譯器為每個類生成一個位元組碼文件,且文件名與類名相同,這就會帶來一個問題:同名的類會發生沖突。package便可管理類命名空間。

一般地,具有相同功能的類放在一個package中。

一個java源程序至多隻能有一個公共類的定義。

若java源程序有一個公共類的定義,則該源文件名字必須與該公共類的名字完全相同。

若源程序中不包含公共類的定義,則該文件名可以任意取名。

若一個源程序中有多個類定義,則在編譯時將為每個類生成一個。class文件。

三。java編程規范

包名:全小寫的名詞,中間可由點分割,eg:java.awt.event

類名:首字母大寫,多個單詞合成,每個單詞首字母也要大寫,eg: class HelloWorldApp

介面名: 同類名,eg: interface Collection

方法名: 由多個單詞合成,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,eg: balanceAccount, isButtonPressed

變數名: 全小寫,一般為名詞,eg: length

常量名: 基本數據類型的常量名為全大寫,如果由多個單詞構成,可以用下劃線隔開,eg: int YEAR, int WEEK_OF_MONTH

對象類型的常量,則是小寫混合,由大寫字母把單詞隔開

㈤ java的類是什麼意思

使用Java語言意味著面向對象的編程。所以,你必須要學會如何創建、引用和繼承已建立的類。
Java的結構是基於面向對象思想的。除了那些最基本的類型如整數、單精度浮點數之外的其它成分,均是以類的形式出現的。正是由於Java的面向對象特性,所以它能給用戶提供一種具有良好的可擴充性的編程環境,並使得程序員可以充分利用別的程序員的成果,而不必重復以前的工作。
學習完本章後,你應該是已經可以輕松地創建自己的類,並能引用和繼承已有的類,這將不公使你有能力去編寫更簡捷更有效的代碼,同時也是進一步學習Java所必需的。

定義類的結構

每個對象都是屬於某種type(即類型、類別或者種類),例如「作者」這個「對象」或者「物體」就屬於「人類」這個類別,拖鞋屬於「鞋類」等等。再Java中,用type的同義詞class表示類型,中文術語譯為「類」。

■ 類的基本概念
■ 類的基本組成
■ 類的實例創建

類的成員函數的說明與使用

我們把屬性和方法成為這個對象的「成員」,因為它們構成一個對象的主要部分,沒有了這兩樣東西,那麼對象也沒有什麼存在的意義了。哪怕只是一粒石頭,或許它沒有什麼操作的方法,但是也有描述它的屬性。真的存在沒有屬性和方法的類,不過它產生出來的對象規則,然後遵守這個規則的對象,才能去做某些特定的事情。

■ 類的成員函數的說明
■ 不同類型的成員函數
■ 成員函數的重載
■ 靜態成員
■ 構造和析構成員函數

建立Java的應用程序

只要類中有一個名為main的方法,那麼這個類就可以成為一個能夠被JVM調用運行的 Java Application。 不過這個方法有四個必要的聲明條件:
1. 聲明為public;
2. 必須是類一級的(static) ;
3. 沒有返回值(viod);
4. 只有一個String類型的數組當作參數。
這四個條件缺一不可。

■ main成員函數
■ 命令行參數
■ 輕松處理命令行參數

類的集合 — 包

■ 理解包(package)的基本概念
■ 定義一個包
■ 引用已定義過的包

類的深入研究

■ 在Java中使用繼承
■ 成員函數的重載
■ 使用介面
■ 類的轉換
■ null,this和supper變數

熱點內容
和平精英安卓版怎麼調成中文 發布:2025-02-13 22:16:10 瀏覽:36
混沌起源需要什麼配置玩 發布:2025-02-13 22:14:33 瀏覽:277
vs引入文件夾 發布:2025-02-13 22:05:52 瀏覽:127
安卓手機如何調無限電量 發布:2025-02-13 22:05:50 瀏覽:113
phppost長度 發布:2025-02-13 22:05:45 瀏覽:626
烈火戰神源碼 發布:2025-02-13 22:04:51 瀏覽:619
源碼貓交易 發布:2025-02-13 22:04:49 瀏覽:756
廣告腳本鏡頭 發布:2025-02-13 22:04:48 瀏覽:986
安卓手機哪個app自拍更真實 發布:2025-02-13 22:00:19 瀏覽:194
安卓系統密碼忘了怎麼辦 發布:2025-02-13 21:49:28 瀏覽:972