學Java入門篇: Java類的基本內容

import語句

爲了能夠使用某一個包的成員,我們需要在 Java 程序中明確導入該包。使用“import”語句可完成此功能。在 java 源文件中 import 語句應位於 package 語句之後,所有類的定義之前,可以沒有,也可以有多條,其語法格式爲:

import package1[.package2…].(classname|*);

java 運行時環境將到 CLASSPATH + package1.[package2…]路徑下尋找並載入相應的字節碼文件 classname.class。“*”號爲通配符,代表所有的類。也就是說 import 語句爲編譯器指明瞭尋找類的途徑。

例,使用 import 語句引入類程序:TestPackage.java

import p1.Test;

//或者 import p1.*;

public class TestPackage {

public static void main(String args[]) {

Test t = new Test; // Test 類在 p1 包中定義

t.display;

}

}

java編譯器默認爲所有的java 程序引入了JDK的java.lang 包中所有的類(importjava.lang.*;),其中定義了一些常用類:System、String、Object、Math 等。因此我們可以直 接使用這些類而不必顯式引入。但使用其它非無名包中的類則必須先引入、後使用。

小編是一個有着5年工作經驗的java程序員,對於java,自己有做資料的整合,一個完整學習java的路線,學習資料和工具,相信這裏有很多學習java的小夥伴,我創立了一個2000人學習扣羣,479121291。每晚都有java的直播課程。無論是初級還是進階的小夥伴小編我都歡迎!

Java 類搜尋方式

程序中的 import 語句標明要引入 p1 包中的 Test 類,假定環境變量 CLASSPATH 的值爲“.;C:\jdk6\lib;D:\ex”,java 運行環境將依次到下述可能的位置尋找並載入該字節碼文件 Test.class:

.\p1\Test.class

C:\jdk6\lib\p1\Test.class

D:\ex\p1\Test.class

“.”代表當前路徑,如果在第一個路徑下就找到了所需的類文件,則停止搜索。否則依次搜索後續路徑,如果在所有的路徑中都未找到所需的類文件,則編譯或運行出錯。

3、訪問修飾符

Java 語言允許對類中定義的各種屬性和方法進行訪問控制,即規定不同的保護等級來限制對它們的使用。爲什麼要這樣做?Java語言引入類似訪問控制機制的目的在於實現信息的封裝和隱藏。Java 語言爲對類中的屬性和方法進行有效地訪問控制,將它們分爲四個等級:private、無修飾符、protected、public。

變量和方法可以使用四個訪問級別中的任意一個修飾,類可以使用公共或無修飾級別修飾。

變量、方法或類有缺省(無修飾符)訪問性,如果它沒有顯式受保護修飾符作爲它的聲明的一部分的話。這種訪問性意味着,訪問可以來自任何方法,當然這些方法只能在作爲對象的同一個包中的成員類當中。

以修飾符 protected 標記的變量或方法實際上比以缺省訪問控制標記的更易訪問。一個protected 方法或變量可以從同一個包中的類當中的任何方法進行訪問,也可以是從任何子類中的任何方法進行訪問。當它適合於一個類的子類但不是不相關的類時,就可以使用這種受保護訪問來訪問成員。

類定義

Java程序的基本單位是類,你建立類之後,就可用它來建立許多你需要的對象。Java把每一個可執行的成分都變成類。

類的定義形式如下:

[一般修飾符] class [extends 父類][implements 接口]{

[]

[]

[]

}

這裏,類名要是合法的標識符。在類定義的開始與結束處必須使用花括號。你也許想建立一個矩形類,那麼可以用如下代碼:

public class Rectangle{

......//矩形具體的屬性和方法

}

構造方法

類有一個特殊的成員方法叫作構造方法,它的作用是創建對象並初始化成員變量。在創建對象時,會自動調用類的構造方法。

構造方法定義規則

Java 中的構造方法必須與該類具有相同的名字,並且沒有方法的返回類型(包括沒有void)。另外,構造方法一般都應用 public 類型來說明,這樣才能在程序任意的位置創建類的實例--對象。

示例

下面是一個 Rectangle 類的構造方法,它帶有兩個參數,分別表示矩形的長和寬:

public class Rectangle {

public Rectangle(int w, int h) {

width = w;

height = h;

}

public Rectangle {

}

}

每個類至少有一個構造方法。如果不寫一個構造方法,Java 編程語言將提供一個默認的, 該構造方法沒有參數,而且方法體爲空。

注意:如果一個類中已經定義了構造方法則系統不再提供默認的構造方法。

析構方法

當垃圾回收器將要釋放無用對象的內存時,先調用該對象的finalize方法。如果在程序終止前垃圾回收器始終沒有執行垃圾回收操作,那麼垃圾回收器將始終不會調用無用對象的finalize方法。在Java的Object基類中提供了protected類型的finalize方法,因此任何Java類都可以覆蓋finalize方法,通常,在析構方法中進行釋放對象佔用的相關資源的操作。

Java 虛擬機的垃圾回收操作對程序完全是透明的,因此程序無法預料某個無用對象的finalize方法何時被調用。如果一個程序只佔用少量內存,沒有造成嚴重的內存需求,垃圾回收器可能沒有釋放那些無用對象佔用的內存,因此這些對象的finalize方法還沒有被調用,程序就終止了。

程序即使顯式調用System.gc或Runtime.gc方法,也不能保證垃圾回收操作一定執行,也就不能保證對象的finalize方法一定被調用。

當垃圾回收器在執行finalize方法的時候,如果出現了異常,垃圾回收器不會報告異常,程序繼續正常運行。

@Override

protected void finalize{

System.out.println("in finalize");

}

在 Java 編程裏面,一般不需要我們去寫析構方法,這裏只是瞭解一下就可以了。

成員變量

成員變量是指類的一些屬性定義,標誌類的靜態特徵,它的基本格式如下:

訪問修飾符 修飾符 類型 屬性名稱=初始值;

訪問修飾符:可以使用四種不同的訪問修飾符中的一種,包括public(公共的)、protected(受保護的),無修飾符和 private(私有的)。public 訪問修飾符表示屬性可以從任何其它代碼調用。private 表示屬性只可以由該類中的其它方法來調用。protected 將在以後的課程中討論。

修飾符:是對屬性特性的描述,例如後面會學習到的:static、final 等等。

類型:屬性的數據類型,可以是任意的類型。

屬性名稱:任何合法標識符

初始值:賦值給屬性的初始值。如果不設置,那麼會自動進行初始化,基本類型使用缺省值,對象類型自動初始化爲 null。

成員變量有時候也被稱爲屬性、實例變量、域,它們經常被互換使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章