亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java基礎教程之對象的方法與數據成員

2019-11-26 15:26:45
字體:
來源:轉載
供稿:網友

Java基礎教程之從Hello World到面向對象一文中,我們初步了解了對象(object)。對象中的數據成員表示對象的狀態。對象可以執行方法,表示特定的動作。

此外,我們還了解了類(class)。同一類的對象屬于相同的類型(type)。我們可以定義類,并使用該定義來產生對象。

我們進一步深入到對象。了解Java中方法與數據成員的一些細節。

調用同一對象的數據成員

方法可以調用該對象的數據成員。比如下面我們給Human類增加一個getHeight()的方法。該方法返回height數據成員的值:

復制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        Human aPerson = new Human();
        System.out.println(aPerson.getHeight());
    }

}

class Human
{/**
     * accessor
     */
    int getHeight()
    {
        return this.height;
    }

    int height;
}

我們新增了getHeight方法。這個方法有一個int類型的返回值。Java中使用return來返回值。

注意this,它用來指代對象自身。當我們創建一個aPerson實例時,this就代表了aPerson這個對象。this.height指aPerson的height。

this是隱性參數(implicit argument)。方法調用的時候,盡管方法的參數列表并沒有this,Java都會“默默”的將this參數傳遞給方法。

(有一些特殊的方法不會隱性傳遞this,我們會在以后見到)

this并不是必需的,上述方法可以寫成:

復制代碼 代碼如下:

/**
     * accessor
     */
    int getHeight()
    {
        return height;
    }

Java會自己去判斷height是類中的數據成員。但使用this會更加清晰。

我們還看到了/** comments  */的添加注釋的方法。

方法的參數列表

Java中的方法定義與C語言中的函數類似。Java的方法也可以接收參數列表(argument list),放在方法名后面的括號中。下面我們定義一個growHeight()的方法,該方法的功能是讓人的height增高:

復制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        Human aPerson = new Human();
        System.out.println(aPerson.getHeight());
        aPerson.growHeight(10);
        System.out.println(aPerson.getHeight());
    }

}

class Human
{
/**
     * accessor
     */
    int getHeight()
    {
        return this.height;
    }

    /**
     * pass argument
     */
    void growHeight(int h)
    {
        this.height = this.height + h;
    }

    int height;
}

在growHeight()中,h為傳遞的參數。在類定義中,說明了參數的類型(int)。在具體的方法內部,我們可以使用該參數。該參數只在該方法范圍,即growHeight()內有效。

在調用的時候,我們將10傳遞給growHeight()。aPerson的高度增加了10。

調用同一對象的其他方法

在方法內部,可以調用同一對象的其他方法。在調用的時候,使用this.method()的形式。我們還記得,this指代的是該對象。所以this.method()指代了該對象自身的method()方法。

比如下面的repeatBreath()函數:

復制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        Human aPerson = new Human();
        aPerson.repeatBreath(10);
    }

}

class Human
{
    void breath()
    {
        System.out.println("hu...hu...");
    }


   /**
    * call breath()
    */
    void repeatBreath(int rep)
    {
        int i;
        for(i = 0; i < rep; i++) {
            this.breath();
        }
    }
    int height;
}

為了便于循環,在repeatBreath()方法中,我們聲明了一個int類型的對象i。i的作用域限定在repeatBreath()方法范圍內部。

(這與C語言函數中的自動變量類似)

數據成員初始化

在Java中,數據成員有多種初始化(initialize)的方式。比如上面的getHeight()的例子中,盡管我們從來沒有提供height的值,但Java為我們挑選了一個默認初始值0。

基本類型的數據成員的默認初始值:

1.數值型: 0
2.布爾值: false
3.其他類型: null

我們可以在聲明數據成員同時,提供數據成員的初始值。這叫做顯式初始化(explicit initialization)。顯示初始化的數值要硬性的寫在程序中:

復制代碼 代碼如下:

public class Test
{
    public static void main(String[] args)
    {
        Human aPerson = new Human();
        System.out.println(aPerson.getHeight());
    }

}

class Human
{/**
     * accessor
     */
    int getHeight()
    {
        return this.height;
    }

    int height = 175;
}

這里,數據成員height的初始值為175,而不是默認的0了。

Java中還有其它初始化對象的方式,我將在以后介紹。

總結

return

this, this.field, this.method()

默認初始值,顯式初始化

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲字幕| 精品久久久久久久大神国产| 亚洲欧美资源在线| 成人激情免费在线| 国产精品狼人色视频一区| 538国产精品视频一区二区| 韩日欧美一区二区| 久久99热精品| 一本色道久久综合狠狠躁篇的优点| 日韩精品高清在线| 日韩视频中文字幕| 91香蕉嫩草影院入口| 欧美性猛交xxxx乱大交蜜桃| 国产日产久久高清欧美一区| 亚洲国产一区二区三区在线观看| 欧美大尺度在线观看| 日韩中文字幕网| 亚洲精品日韩激情在线电影| 久久久久久91香蕉国产| 国产精品久久久久久久久久久久久久| 亚洲国产精品久久精品怡红院| 国产精品视频xxxx| 久久99久久99精品免观看粉嫩| 亚洲男人的天堂网站| 91wwwcom在线观看| 国产亚洲在线播放| 国产精品网红福利| 日韩av网站电影| 亚洲第一页中文字幕| 欧美性猛交丰臀xxxxx网站| 亚洲精品福利视频| 欧美日韩国产中文精品字幕自在自线| 久久91精品国产91久久跳| 欧美大胆在线视频| 欧美一级bbbbb性bbbb喷潮片| 精品国产鲁一鲁一区二区张丽| 日韩av电影院| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲福利视频久久| 欧美诱惑福利视频| 久久精品久久久久电影| 国产在线98福利播放视频| 中文字幕自拍vr一区二区三区| 欧美电影在线免费观看网站| 国产色婷婷国产综合在线理论片a| 日韩成人在线免费观看| 在线电影欧美日韩一区二区私密| 伊人久久久久久久久久久久久| 久久精品久久久久久| 亚洲精品之草原avav久久| 欧美成人精品h版在线观看| 欧美日韩国产成人在线观看| 中文字幕亚洲一区| 国产精品亚发布| 欧美成人激情在线| 国产一区二区三区欧美| 欧美精品videosex牲欧美| 久久夜色精品亚洲噜噜国产mv| 色偷偷888欧美精品久久久| 精品久久久久久久久久国产| 国产精品丝袜久久久久久高清| 91亚洲精品一区| 日韩精品中文字幕久久臀| 亚洲天堂视频在线观看| 亚洲黄色在线观看| 亚洲欧美一区二区三区四区| 国产区精品在线观看| 亚洲欧美激情在线视频| 久久久久亚洲精品| 精品爽片免费看久久| 亚洲一区二区三区xxx视频| 91黑丝高跟在线| 超碰91人人草人人干| 亚洲欧美日韩第一区| 中文在线资源观看视频网站免费不卡| 91精品国产综合久久久久久蜜臀| 夜夜狂射影院欧美极品| 91av中文字幕| 国产日韩专区在线| 亚洲精品久久久久久久久久久久| 亚洲精品一区二区在线| 亚洲天堂av高清| 久久久久久久999精品视频| 97久久精品人搡人人玩| 亚洲国产成人在线播放| 久久精品亚洲94久久精品| 亚洲国产日韩欧美综合久久| 尤物tv国产一区| 亚洲福利视频二区| 精品成人乱色一区二区| 色婷婷av一区二区三区在线观看| 成人h片在线播放免费网站| 国产精品www色诱视频| 久久精品亚洲94久久精品| 97碰碰碰免费色视频| 91精品国产自产91精品| 精品亚洲一区二区三区在线观看| 在线观看国产精品淫| 精品福利一区二区| 亚洲精品国产精品国自产在线| 日本在线观看天堂男亚洲| 久久久久久成人| 亚洲欧美中文字幕| 欧美最顶级的aⅴ艳星| 亚洲欧美日韩在线高清直播| 日本亚洲欧美三级| 2019国产精品自在线拍国产不卡| 国外成人在线播放| 亚洲成色777777女色窝| 亚洲aⅴ日韩av电影在线观看| 亚洲欧洲一区二区三区在线观看| 懂色aⅴ精品一区二区三区蜜月| 日本成人在线视频网址| 精品国产区一区二区三区在线观看| 欧美大片免费观看在线观看网站推荐| 91精品国产91久久久久久不卡| 97碰碰碰免费色视频| 欧美电影免费观看大全| 国产精品主播视频| 国产精品入口日韩视频大尺度| 亚洲视频欧美视频| 成人激情视频小说免费下载| 久久久久九九九九| 日韩高清中文字幕| 国产亚洲日本欧美韩国| 色777狠狠综合秋免鲁丝| 亚洲自拍高清视频网站| 欧美专区日韩视频| 亲爱的老师9免费观看全集电视剧| 国产欧美在线观看| 欧美激情女人20p| 国产性猛交xxxx免费看久久| 亚洲最大福利视频| 最好看的2019的中文字幕视频| 欧美成人免费va影院高清| 国内精品久久久久伊人av| 亚洲毛片一区二区| 欧美精品一本久久男人的天堂| 久久久久日韩精品久久久男男| 自拍视频国产精品| 成人久久久久爱| 91社影院在线观看| 日本久久久久久久久久久| 欧美日韩国产综合视频在线观看中文| 国产精品精品一区二区三区午夜版| 国产一区二中文字幕在线看| 啪一啪鲁一鲁2019在线视频| 成人黄在线观看| 久久伊人精品一区二区三区| 亚洲精品国产欧美| 色婷婷av一区二区三区在线观看| 色综合久久中文字幕综合网小说| 狠狠爱在线视频一区| www.久久久久久.com| 亚洲无限av看| 日韩av在线直播| 日韩日本欧美亚洲| 日韩欧美精品网址| 亚洲韩国青草视频| 影音先锋日韩有码| 在线a欧美视频| 精品国产91久久久久久| 一区二区三区 在线观看视| 亚洲欧美另类中文字幕|