两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

通過(guò)以往的學(xué)習(xí),我們已經(jīng)知道,類可以有兩種重要的成員:成員變量方法,實(shí)際上,類還有一種成員:內(nèi)部類。在一個(gè)類中定義另一個(gè)類,我們把這樣的類稱作內(nèi)部類,包含內(nèi)部類的類稱作內(nèi)部類的外嵌類。


內(nèi)部類和外嵌類之間的關(guān)系:

1)內(nèi)部類的外嵌類的成員變量在內(nèi)部類中仍然有效,內(nèi)部類中的方法也可以調(diào)用外嵌類中的方法。

2)內(nèi)部類的類體中不可以聲明類變量和類方法,外嵌類的類體中可以用內(nèi)部類聲明對(duì)象作為外嵌類的成員。

3)內(nèi)部類僅供它的外嵌類使用,其他類不可以用某個(gè)類的內(nèi)部類聲明對(duì)象。

因?yàn)閮?nèi)部類的外嵌類的成員變量在內(nèi)部類中有效,所以使得內(nèi)部類和外嵌類的交互十分方便。


例如:

class RedCowForm {
    static String formName;
    RedCow cow; //內(nèi)部類聲明對(duì)象
    RedCowForm() {
    }
    RedCowForm(String s){
        cow = new RedCow(88,66,2000);
        formName = s;
    }
    public void showCowMess() {
        cow.speak();
    }
    class RedCow{ //內(nèi)部類的聲明
        String cowName = "小牛";
        int height,weight,price;
        RedCow(int h,int w,int p) {
            height = h;
            weight = w;
            price = p;
        }
        void speak() {
            System.out.println("我是"+cowName+",身高"+height+"cm,體重"+weight+"kg,生活在"+formName);
        }
    }
}
public class Main {
    public static void main(String[] args) {
        RedCowForm form = new RedCowForm("dotcpp農(nóng)場(chǎng)");
        form.showCowMess();
        form.cow.speak();
    }
}


運(yùn)行結(jié)果如下:

我是小牛,身高88cm,體重66kg,生活在dotcpp農(nóng)場(chǎng)
我是小牛,身高88cm,體重66kg,生活在dotcpp農(nóng)場(chǎng)


注意:Java編譯器生成的內(nèi)部類的字節(jié)碼文件的名字和平常的類的名字不同,內(nèi)部類對(duì)應(yīng)的字節(jié)碼文件的名字格式是“外嵌類名$內(nèi)部類名”。例如:上面例子中內(nèi)部類的字節(jié)碼文件的名字應(yīng)該是RedCowForm$RedCow.class。


內(nèi)部類可以被修飾為static內(nèi)部類,static內(nèi)部類是外嵌類中的一種靜態(tài)數(shù)據(jù)類型,程序可以在其他類中使用static內(nèi)部類來(lái)創(chuàng)建對(duì)象,但是,static內(nèi)部類不能操作外嵌類中的實(shí)例成員變量。


好了,大家可以上機(jī)實(shí)驗(yàn),消化吸收本節(jié)內(nèi)容。


點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)