国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Java? 教程(類(lèi)的更多方面)

shinezejian / 2688人閱讀

類(lèi)的更多方面

本節(jié)介紹依賴(lài)于使用對(duì)象引用的類(lèi)的更多方面以及你在前面的對(duì)象部分中了解到的點(diǎn)運(yùn)算符。

從方法返回值

方法返回到調(diào)用它的代碼。

完成方法中的所有語(yǔ)句。

到達(dá)return語(yǔ)句。

或拋出異常(稍后介紹)。

以先發(fā)生者為準(zhǔn)。

你在方法聲明中聲明方法的返回類(lèi)型,在方法體內(nèi),使用return語(yǔ)句返回值。

聲明為void的任何方法都不返回值,它不需要包含return語(yǔ)句,但它可能會(huì)這樣做,在這種情況下,可以使用return語(yǔ)句分支出控制流程塊并退出該方法,并且可以像這樣使用:

return;

如果你嘗試從聲明為void的方法返回值,則會(huì)出現(xiàn)編譯器錯(cuò)誤。

任何未聲明為void的方法都必須包含帶有相應(yīng)返回值的return語(yǔ)句,如下所示:

return returnValue;

返回值的數(shù)據(jù)類(lèi)型必須與方法聲明的返回類(lèi)型匹配,你不能從聲明為返回布爾值的方法返回一個(gè)整數(shù)值。

在對(duì)象部分中討論的Rectangle類(lèi)中的getArea()方法返回一個(gè)整數(shù):

// a method for computing the area of the rectangle
public int getArea() {
   return width * height;
}

此方法返回表達(dá)式width * height求值的整數(shù)。

getArea方法返回基本類(lèi)型,方法還可以返回引用類(lèi)型,例如,在一個(gè)操作Bicycle對(duì)象的程序中,我們可能有這樣的方法:

public Bicycle seeWhosFastest(Bicycle myBike, Bicycle yourBike,
                              Environment env) {
    Bicycle fastest;
    // code to calculate which bike is 
    // faster, given each bike"s gear 
    // and cadence and given the 
    // environment (terrain and wind)
    return fastest;
}
返回類(lèi)或接口

如果此部分讓你感到困惑,請(qǐng)?zhí)^(guò)它并在完成接口和繼承課程后返回該部分。

當(dāng)一個(gè)方法使用類(lèi)名作為其返回類(lèi)型時(shí),例如whosFastest,返回對(duì)象的類(lèi)型類(lèi)必須是返回類(lèi)型的子類(lèi)或確切的類(lèi)。假設(shè)你有一個(gè)類(lèi)層次結(jié)構(gòu),其中ImaginaryNumberjava.lang.Number的子類(lèi),而java.lang.Number又是Object的子類(lèi),如下圖所示。

現(xiàn)在假設(shè)你有一個(gè)聲明為返回Number的方法:

public Number returnANumber() {
    ...
}

returnANumber方法可以返回ImaginaryNumber而不是ObjectImaginaryNumber是一個(gè)Number,因?yàn)樗?b>Number的子類(lèi),但是,Object不一定是Number — 它可以是String或其他類(lèi)型。

你可以重寫(xiě)方法并定義它以返回原始子類(lèi)的方法,如下所示:

public ImaginaryNumber returnANumber() {
    ...
}

這種稱(chēng)為協(xié)變返回類(lèi)型的技術(shù)意味著允許返回類(lèi)型在與子類(lèi)相同的方向上變化。

注意:你還可以使用接口名稱(chēng)作為返回類(lèi)型,在這種情況下,返回的對(duì)象必須實(shí)現(xiàn)指定的接口。
使用this關(guān)鍵字

在實(shí)例方法或構(gòu)造函數(shù)中,這是對(duì)當(dāng)前對(duì)象的引用 — 正在調(diào)用其方法或構(gòu)造函數(shù)的對(duì)象,你可以使用此方法從實(shí)例方法或構(gòu)造函數(shù)中引用當(dāng)前對(duì)象的任何成員。

將this與字段一起使用

使用this關(guān)鍵字的最常見(jiàn)原因是因?yàn)樽侄伪环椒ɑ驑?gòu)造函數(shù)參數(shù)遮蔽。

例如,Point類(lèi)就是這樣寫(xiě)的:

public class Point {
    public int x = 0;
    public int y = 0;
        
    //constructor
    public Point(int a, int b) {
        x = a;
        y = b;
    }
}

但它可能是這樣寫(xiě)的:

public class Point {
    public int x = 0;
    public int y = 0;
        
    //constructor
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
}

構(gòu)造函數(shù)的每個(gè)參數(shù)都會(huì)影響對(duì)象的一個(gè)??字段 — 構(gòu)造函數(shù)內(nèi)部的x是構(gòu)造函數(shù)的第一個(gè)參數(shù)的本地副本,要引用Point字段x,構(gòu)造函數(shù)必須使用this.x

將this與構(gòu)造函數(shù)一起使用

在構(gòu)造函數(shù)中,你還可以使用this關(guān)鍵字來(lái)調(diào)用同一個(gè)類(lèi)中的另一個(gè)構(gòu)造函數(shù),這樣做稱(chēng)為顯式構(gòu)造函數(shù)調(diào)用,這是另一個(gè)Rectangle類(lèi),其實(shí)現(xiàn)與對(duì)象部分中的實(shí)現(xiàn)不同。

public class Rectangle {
    private int x, y;
    private int width, height;
        
    public Rectangle() {
        this(0, 0, 1, 1);
    }
    public Rectangle(int width, int height) {
        this(0, 0, width, height);
    }
    public Rectangle(int x, int y, int width, int height) {
        this.x = x;
        this.y = y;
        this.width = width;
        this.height = height;
    }
    ...
}

該類(lèi)包含一組構(gòu)造函數(shù),每個(gè)構(gòu)造函數(shù)初始化一些或所有矩形的成員變量,構(gòu)造函數(shù)為任何成員變量提供默認(rèn)值,其初始值不是由參數(shù)提供的。例如,無(wú)參數(shù)構(gòu)造函數(shù)在坐標(biāo)0,0處創(chuàng)建1x1矩形。雙參數(shù)構(gòu)造函數(shù)調(diào)用四參數(shù)構(gòu)造函數(shù),傳遞寬度和高度,但始終使用0,0坐標(biāo),和之前一樣,編譯器根據(jù)參數(shù)的數(shù)量和類(lèi)型確定要調(diào)用的構(gòu)造函數(shù)。

如果存在,則另一個(gè)構(gòu)造函數(shù)的調(diào)用必須是構(gòu)造函數(shù)中的第一行。

控制對(duì)類(lèi)成員的訪問(wèn)

訪問(wèn)級(jí)別修飾符確定其他類(lèi)是否可以使用特定字段或調(diào)用特定方法,訪問(wèn)控制有兩個(gè)級(jí)別:

在頂級(jí) — publicpackage-private(沒(méi)有顯式修飾符)。

在成員級(jí)別 — publicprivateprotectedpackage-private(無(wú)顯式修飾符)。

可以使用修飾符public聲明一個(gè)類(lèi),在這種情況下,該類(lèi)對(duì)于所有類(lèi)都可見(jiàn),如果一個(gè)類(lèi)沒(méi)有修飾符(默認(rèn),也稱(chēng)為包私有),它只在自己的包中可見(jiàn)(包是相關(guān)類(lèi)的命名組 — 你將在后面的課程中了解它們)。

在成員級(jí)別,你也可以使用public修飾符或無(wú)修飾符(package-private),就像使用頂級(jí)類(lèi)一樣,并且具有相同的含義。對(duì)于成員,還有兩個(gè)額外的訪問(wèn)修飾符:privateprotectedprivate修飾符指定只能在其自己的類(lèi)中訪問(wèn)該成員,protected修飾符指定只能在其自己的包中訪問(wèn)該成員(與package-private一樣),此外,還可以在另一個(gè)包中通過(guò)其類(lèi)的子類(lèi)訪問(wèn)該成員。

下表顯示了每個(gè)修飾符允許的成員訪問(wèn)權(quán)限。

修飾符 類(lèi) 子類(lèi) 所有
public Y Y Y Y
protected Y Y Y N
無(wú)修飾符 Y Y N N
private Y N N N

第一個(gè)數(shù)據(jù)列指示類(lèi)本身是否可以訪問(wèn)由訪問(wèn)級(jí)別定義的成員,如你所見(jiàn),類(lèi)始終可以訪問(wèn)自己的成員,第二列指示與該類(lèi)相同的包中的類(lèi)(不管父子關(guān)系)可以訪問(wèn)該成員,第三列指示在此包外聲明的該類(lèi)的子類(lèi)是否可以訪問(wèn)該成員,第四列指示是否所有類(lèi)都可以訪問(wèn)該成員。

訪問(wèn)級(jí)別以?xún)煞N方式影響你,首先,當(dāng)你使用來(lái)自其他源的類(lèi)(例如Java平臺(tái)中的類(lèi))時(shí),訪問(wèn)級(jí)別將確定你自己的類(lèi)可以使用的那些類(lèi)的哪些成員,其次,當(dāng)你編寫(xiě)一個(gè)類(lèi)時(shí),你需要確定每個(gè)成員變量和類(lèi)中的每個(gè)方法應(yīng)具有的訪問(wèn)級(jí)別。

讓我們看一下類(lèi)的集合,看看訪問(wèn)級(jí)別如何影響可見(jiàn)性,下圖顯示了此示例中的四個(gè)類(lèi)以及它們之間的關(guān)系。

下表顯示了Alpha類(lèi)的成員對(duì)于可應(yīng)用于它們的每個(gè)訪問(wèn)修飾符的可見(jiàn)性。

修飾符 Alpha Beta Alphasub Gamma
public Y Y Y Y
protected Y Y Y N
無(wú)修飾符 Y Y N N
private Y N N N

選擇訪問(wèn)級(jí)別的提示:

如果其他程序員使用你的類(lèi),你希望確保不會(huì)發(fā)生濫用錯(cuò)誤,訪問(wèn)級(jí)別可以幫助你執(zhí)行此操作。

使用對(duì)特定成員有意義的最嚴(yán)格的訪問(wèn)級(jí)別,除非你有充分的理由不使用private

避免除常量之外的public字段(本教程中的許多示例都使用public字段,這可能有助于簡(jiǎn)明地說(shuō)明一些要點(diǎn),但不建議用于生產(chǎn)代碼),public字段傾向于將你鏈接到特定實(shí)現(xiàn),并限制你更改代碼的靈活性。

了解類(lèi)成員

在本節(jié)中,我們將討論使用static關(guān)鍵字創(chuàng)建屬于類(lèi)的字段和方法,而不是類(lèi)的實(shí)例。

類(lèi)變量

當(dāng)從同一個(gè)類(lèi)藍(lán)圖創(chuàng)建許多對(duì)象時(shí),它們每個(gè)都有自己不同的實(shí)例變量副本,在Bicycle類(lèi)的情況下,實(shí)例變量是cadencegearspeed,每個(gè)Bicycle對(duì)象都有這些變量自己的值,這些變量存儲(chǔ)在不同的內(nèi)存位置。

有時(shí),你希望擁有所有對(duì)象共有的變量,這是通過(guò)static修飾符完成的,在聲明中具有static修飾符的字段稱(chēng)為靜態(tài)字段或類(lèi)變量,它們與類(lèi)相關(guān)聯(lián),而不是與任何對(duì)象相關(guān)聯(lián),該類(lèi)的每個(gè)實(shí)例共享一個(gè)類(lèi)變量,該變量位于內(nèi)存中的一個(gè)固定位置,任何對(duì)象都可以更改類(lèi)變量的值,但也可以在不創(chuàng)建類(lèi)實(shí)例的情況下操作類(lèi)變量。

例如,假設(shè)你要?jiǎng)?chuàng)建多個(gè)Bicycle對(duì)象并為每個(gè)對(duì)象分配一個(gè)序列號(hào),從第一個(gè)對(duì)象開(kāi)始為1,此ID號(hào)對(duì)于每個(gè)對(duì)象都是唯一的,因此是一個(gè)實(shí)例變量。同時(shí),你需要一個(gè)字段來(lái)跟蹤已創(chuàng)建的Bicycle對(duì)象的數(shù)量,以便你知道要分配給下一個(gè)對(duì)象的ID,這樣的字段與任何單個(gè)對(duì)象無(wú)關(guān),而與整個(gè)類(lèi)有關(guān),為此,你需要一個(gè)類(lèi)變量numberOfBicycles,如下所示:

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
        
    // add an instance variable for the object ID
    private int id;
    
    // add a class variable for the
    // number of Bicycle objects instantiated
    private static int numberOfBicycles = 0;
        ...
}

類(lèi)變量由類(lèi)名本身引用,如:

Bicycle.numberOfBicycles

這清楚地表明它們是類(lèi)變量。

注意:你也可以使用對(duì)象引用來(lái)引用靜態(tài)字段myBike.numberOfBicycles,但這是不鼓勵(lì)的,因?yàn)樗鼪](méi)有說(shuō)明它們是類(lèi)變量。

你可以使用Bicycle構(gòu)造函數(shù)來(lái)設(shè)置id實(shí)例變量并增加numberOfBicycles類(lèi)變量:

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
    private int id;
    private static int numberOfBicycles = 0;
        
    public Bicycle(int startCadence, int startSpeed, int startGear){
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        // increment number of Bicycles
        // and assign ID number
        id = ++numberOfBicycles;
    }

    // new method to return the ID instance variable
    public int getID() {
        return id;
    }
        ...
}
類(lèi)方法

Java編程語(yǔ)言支持靜態(tài)方法以及靜態(tài)變量,靜態(tài)方法在其聲明中具有static修飾符,應(yīng)該使用類(lèi)名調(diào)用,而不需要?jiǎng)?chuàng)建類(lèi)的實(shí)例,如:

ClassName.methodName(args)
注意:你也可以使用對(duì)象引用來(lái)引用靜態(tài)方法instanceName.methodName(args),但這是不鼓勵(lì)的,因?yàn)樗鼪](méi)有說(shuō)明它們是類(lèi)方法。

靜態(tài)方法的常見(jiàn)用途是訪問(wèn)靜態(tài)字段,例如,我們可以向Bicycle類(lèi)添加一個(gè)靜態(tài)方法來(lái)訪問(wèn)numberOfBicycles靜態(tài)字段:

public static int getNumberOfBicycles() {
    return numberOfBicycles;
}

并非所有實(shí)例和類(lèi)變量和方法的組合都是允許的:

實(shí)例方法可以直接訪問(wèn)實(shí)例變量和實(shí)例方法。

實(shí)例方法可以直接訪問(wèn)類(lèi)變量和類(lèi)方法。

類(lèi)方法可以直接訪問(wèn)類(lèi)變量和類(lèi)方法。

類(lèi)方法不能直接訪問(wèn)實(shí)例變量或?qū)嵗椒?— 它們必須使用對(duì)象引用,此外,類(lèi)方法不能使用this關(guān)鍵字,因?yàn)闆](méi)有要引用的實(shí)例。

常量

static修飾符與final修飾符結(jié)合使用,也用于定義常量,final修飾符表示此字段的值不能更改。

例如,以下變量聲明定義了一個(gè)名為PI的常量,其值是pi的近似值(圓周長(zhǎng)與直徑之比):

static final double PI = 3.141592653589793;

以這種方式定義的常量不能重新分配,如果你的程序嘗試這樣做,則它是編譯時(shí)錯(cuò)誤,按照慣例,常量值的名稱(chēng)拼寫(xiě)為大寫(xiě)字母,如果名稱(chēng)由多個(gè)單詞組成,則單詞由下劃線(_)分隔。

注意:如果將基本類(lèi)型或字符串定義為常量并且該值在編譯時(shí)已知,則編譯器會(huì)將代碼中的常量名稱(chēng)替換為其值,這稱(chēng)為編譯時(shí)常量。如果外部世界中常量的值發(fā)生變化(例如,如果立法規(guī)定pi實(shí)際上應(yīng)該是3.975),則需要重新編譯使用此常量來(lái)獲取當(dāng)前值的任何類(lèi)。
Bicycle類(lèi)

在本節(jié)中進(jìn)行了所有修改之后,Bicycle類(lèi)現(xiàn)在是:

public class Bicycle {
        
    private int cadence;
    private int gear;
    private int speed;
        
    private int id;
    
    private static int numberOfBicycles = 0;

        
    public Bicycle(int startCadence,
                   int startSpeed,
                   int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;

        id = ++numberOfBicycles;
    }

    public int getID() {
        return id;
    }

    public static int getNumberOfBicycles() {
        return numberOfBicycles;
    }

    public int getCadence() {
        return cadence;
    }
        
    public void setCadence(int newValue) {
        cadence = newValue;
    }
        
    public int getGear(){
        return gear;
    }
        
    public void setGear(int newValue) {
        gear = newValue;
    }
        
    public int getSpeed() {
        return speed;
    }
        
    public void applyBrake(int decrement) {
        speed -= decrement;
    }
        
    public void speedUp(int increment) {
        speed += increment;
    }
}
初始化字段

如你所見(jiàn),你通常可以在其聲明中為字段提供初始值:

public class BedAndBreakfast {

    // initialize to 10
    public static int capacity = 10;

    // initialize to false
    private boolean full = false;
}

當(dāng)初始化值可用并且初始化可以放在一行上時(shí),這很有效,然而,這種形式的初始化由于其簡(jiǎn)單性而具有局限性,如果初始化需要一些邏輯(例如,錯(cuò)誤處理或for循環(huán)來(lái)填充復(fù)雜數(shù)組),則簡(jiǎn)單的賦值是不合適的。實(shí)例變量可以在構(gòu)造函數(shù)中初始化,其中可以使用錯(cuò)誤處理或其他邏輯,為了為類(lèi)變量提供相同的功能,Java編程語(yǔ)言包括靜態(tài)初始化塊。

注意:沒(méi)有必要在類(lèi)定義的開(kāi)頭聲明字段,盡管這是最常見(jiàn)的做法,只有在使用它們之前才需要聲明和初始化它們。
靜態(tài)初始化塊

靜態(tài)初始化塊是用大括號(hào){}括起來(lái)的常規(guī)代碼塊,前面是static關(guān)鍵字,這是一個(gè)例子:

static {
    // whatever code is needed for initialization goes here
}

一個(gè)類(lèi)可以有任意數(shù)量的靜態(tài)初始化塊,它們可以出現(xiàn)在類(lèi)體中的任何位置,運(yùn)行時(shí)系統(tǒng)保證按照它們?cè)谠创a中出現(xiàn)的順序調(diào)用靜態(tài)初始化塊。

還有靜態(tài)塊的替代方法 — 你可以編寫(xiě)私有靜態(tài)方法:

class Whatever {
    public static varType myVar = initializeClassVariable();
        
    private static varType initializeClassVariable() {

        // initialization code goes here
    }
}

私有靜態(tài)方法的優(yōu)點(diǎn)是,如果需要重新初始化類(lèi)變量,可以在以后重用它們。

初始化實(shí)例成員

通常,你可以使用代碼在構(gòu)造函數(shù)中初始化實(shí)例變量,使用構(gòu)造函數(shù)初始化實(shí)例變量有兩種選擇:初始化塊和final方法。

實(shí)例變量的初始化程序塊看起來(lái)就像靜態(tài)初始化程序塊,但沒(méi)有static關(guān)鍵字:

{
    // whatever code is needed for initialization goes here
}

Java編譯器將初始化程序塊復(fù)制到每個(gè)構(gòu)造函數(shù)中,因此,該方法可用于在多個(gè)構(gòu)造函數(shù)之間共享代碼塊。

無(wú)法在子類(lèi)中重寫(xiě)final方法,這在接口和繼承的課程中討論,以下是使用final方法初始化實(shí)例變量的示例:

class Whatever {
    private varType myVar = initializeInstanceVariable();
        
    protected final varType initializeInstanceVariable() {

        // initialization code goes here
    }
}

如果子類(lèi)可能想要重用初始化方法,這尤其有用,該方法是final,因?yàn)樵趯?shí)例初始化期間調(diào)用非final方法可能會(huì)導(dǎo)致問(wèn)題。

創(chuàng)建和使用類(lèi)和對(duì)象的總結(jié)

類(lèi)聲明為類(lèi)命名,并將類(lèi)主體括在大括號(hào)之間,類(lèi)名可以在前面加上修飾符,類(lèi)主體包含類(lèi)的字段、方法和構(gòu)造函數(shù),類(lèi)使用字段來(lái)包含狀態(tài)信息,并使用方法來(lái)實(shí)現(xiàn)行為,初始化類(lèi)的新實(shí)例的構(gòu)造函數(shù)使用類(lèi)的名稱(chēng),看起來(lái)像沒(méi)有返回類(lèi)型的方法。

你可以通過(guò)相同的方式控制對(duì)類(lèi)和成員的訪問(wèn):在聲明中使用諸如public之類(lèi)的訪問(wèn)修飾符。

你可以通過(guò)在成員聲明中使用static關(guān)鍵字來(lái)指定類(lèi)變量或類(lèi)方法,未聲明為static的成員隱式地是實(shí)例成員,類(lèi)變量由類(lèi)的所有實(shí)例共享,可以通過(guò)類(lèi)名和實(shí)例引用來(lái)訪問(wèn),類(lèi)的實(shí)例獲取每個(gè)實(shí)例變量的自己的副本,必須通過(guò)實(shí)例引用訪問(wèn)它們。

你可以使用new運(yùn)算符和構(gòu)造函數(shù)從類(lèi)創(chuàng)建對(duì)象,new運(yùn)算符返回對(duì)已創(chuàng)建對(duì)象的引用,你可以將引用分配給變量或直接使用它。

可以通過(guò)使用限定名稱(chēng)來(lái)引用可在其聲明的類(lèi)之外的代碼訪問(wèn)的實(shí)例變量和方法,實(shí)例變量的限定名稱(chēng)如下所示:

objectReference.variableName

方法的限定名稱(chēng)如下所示:

objectReference.methodName(argumentList)

或者:

objectReference.methodName()

垃圾收集器自動(dòng)清理未使用的對(duì)象,如果程序不再包含對(duì)它的引用,則不使用該對(duì)象,你可以通過(guò)將包含引用的變量設(shè)置為null來(lái)顯式刪除引用。

上一篇: 對(duì)象 下一篇:嵌套類(lèi)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/72302.html

相關(guān)文章

  • Java? 教程(目錄)

    Java? 教程 Java教程是為JDK 8編寫(xiě)的,本頁(yè)面中描述的示例和實(shí)踐沒(méi)有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語(yǔ)言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個(gè)完整的工作示例和數(shù)十個(gè)課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識(shí)的路徑 這些教程以書(shū)籍的形式提供,如Java教程,第六版,前往Amazon.com購(gòu)買(mǎi)。 入門(mén) 介紹Java技術(shù)和安裝Java開(kāi)發(fā)軟件并使用...

    lifesimple 評(píng)論0 收藏0
  • Java? 教程(對(duì)象)

    對(duì)象 典型的Java程序會(huì)創(chuàng)建許多對(duì)象,如你所知,通過(guò)調(diào)用方法進(jìn)行交互,通過(guò)這些對(duì)象交互,程序可以執(zhí)行各種任務(wù),例如實(shí)現(xiàn)GUI,運(yùn)行動(dòng)畫(huà)或通過(guò)網(wǎng)絡(luò)發(fā)送和接收信息,一旦對(duì)象完成了創(chuàng)建它的工作,它的資源就會(huì)被回收以供其他對(duì)象使用。 這是一個(gè)名為CreateObjectDemo的小程序,它創(chuàng)建了三個(gè)對(duì)象:一個(gè)Point對(duì)象和兩個(gè)Rectangle對(duì)象,你將需要所有三個(gè)源文件來(lái)編譯此程序。 public ...

    abson 評(píng)論0 收藏0
  • [零基礎(chǔ)學(xué)python]關(guān)于類(lèi)的初步認(rèn)識(shí)

    摘要:反對(duì)者在某些領(lǐng)域?qū)Υ擞枰苑裾J(rèn)。下面再引用一段來(lái)自維基百科中關(guān)于的歷史。類(lèi)的更嚴(yán)格的定義是由某種特定的元數(shù)據(jù)所組成的內(nèi)聚的包。類(lèi)還可以有運(yùn)行時(shí)表示形式元對(duì)象,它為操作與類(lèi)相關(guān)的元數(shù)據(jù)提供了運(yùn)行時(shí)支持。 在開(kāi)始部分,請(qǐng)看官非常非常耐心地閱讀下面幾個(gè)枯燥的術(shù)語(yǔ)解釋?zhuān)緛?lái)這不符合本教程的風(fēng)格,但是,請(qǐng)看官諒解,因?yàn)榱形粚?lái)一定要閱讀枯燥的東西的。這些枯燥的屬于解釋?zhuān)鶃?lái)自維基百科。 1、問(wèn)題...

    王巖威 評(píng)論0 收藏0
  • 貓頭鷹的深夜翻譯:理解java的classloader

    摘要:它們是通過(guò)來(lái)自遠(yuǎn)程的服務(wù)器的連接發(fā)送字節(jié)碼并在本地運(yùn)行,這一點(diǎn)令人興奮。中有一個(gè)自定義的,它不是從本地文件系統(tǒng)加載類(lèi)文件,而是從遠(yuǎn)程服務(wù)器上獲取,通過(guò)加載原始字節(jié)碼,再在中轉(zhuǎn)化為類(lèi)。它將字節(jié)碼解析為運(yùn)行時(shí)的數(shù)據(jù)結(jié)構(gòu),檢查其有效性等。 前言 Java ClassLoader是java運(yùn)行系統(tǒng)中一個(gè)至關(guān)重要但是經(jīng)常被忽略的組件。它負(fù)責(zé)在運(yùn)行時(shí)尋找并加載類(lèi)文件。創(chuàng)建自定義的ClassLoad...

    Eminjannn 評(píng)論0 收藏0
  • Java? 教程(多態(tài)性)

    多態(tài)性 多態(tài)性的字典定義是指生物學(xué)中的原理,其中生物體或物種可以具有許多不同的形式或階段,這個(gè)原則也可以應(yīng)用于面向?qū)ο蟮木幊毯拖馢ava語(yǔ)言之類(lèi)的語(yǔ)言,類(lèi)的子類(lèi)可以定義它們自己的唯一行為,但仍然共享父類(lèi)的一些相同功能。 可以通過(guò)對(duì)Bicycle類(lèi)的微小修改來(lái)演示多態(tài)性,例如,可以將printDescription方法添加到顯示當(dāng)前存儲(chǔ)在實(shí)例中的所有數(shù)據(jù)的類(lèi)中。 public void printD...

    J4ck_Chan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<