java之9天 內部類

2021-09-01 16:46:28 字數 2572 閱讀 6799

[size=medium][b]內部類,靜態內部類,全域性內部類[/b][/size]

/*** 內部類的訪問規則:

* 1.內部類可以直接訪問外部類中的成員,包括私有

* 之所以可以直接訪問外部類中的成員,是因為內部類中持有乙個外部類的引用, 格式為 外部類名.this.成員

* 2.外部類要訪問內部類,必須建立物件

* *訪問格式:

*當內部類定義在外部類的成員位置上,而且非私有, 可以在外部其他類中可以直接建立內部類物件.

*格式:

* 外部類名.內部類名 變數名=外部類物件.內部類物件;

* outer.inner in=new outer().new inner();

*2,當外部類在成員位置上,就可以被成員修飾符所修飾

* 比如: private : 將外部類中的內部類進行封裝

* static : 內部類就具備static 特性 ,只能訪問 外部類的static成員.出現訪問侷限

* (靜態內部類: 一般是 應用的資料全是 靜態的資料的時候就可以定了)

**3.其他外部類中怎麼訪問 靜態內部類的非靜態成員

* new outer.inner2().function();

*

*4.其他外部類中怎麼訪問靜態內部類中的靜態成員.

* outer.inner2.function1();

** 注意 : 當內部類中定義了靜態成員,該內部類必須是static的

* 當外部類中的靜態方法訪問內部類時候,該內部類也必須是static的

*

*/class outer

//放在乙個內的內部

class inner

/* 非靜態內部類中不能有 靜態成員

static int y=8;

static void function1()*/

}private class inner1

}static class inner2

//靜態內部類的靜態成員

static void function1()

}//外部類中的靜態成員

public static void method1()

}public class innerclassdemo

}/**

* 當描述事物時, 事物的內部還有事物,該事物用內部類來描述

* 因為內部事務在使用外部事務的內容.

* 比如 身體 和 心臟 的關係

*/class body

}public void seexinzang()

//比如還可以 是否 被女朋友踹了? 是: 就傷心 不是: 就開心 哈哈

}

[size=medium][b]區域性內部類[/b][/size]

/*** 內部類定義在區域性時候

* 1.不可以被成員修飾符修飾 (private static 等)

* 2.可以直接訪問外部類中的成員,因為還持有外部類中的引用

* 但是不可以訪問它所在的區域性中的變數, 只能訪問被final修飾的區域性變數.

*/class outer

}new inner().function();}}

public class innerclassdemo

}

[size=medium][b]匿名內部類[/b][/size]

/*** 匿名內部類

* 1.其實就是乙個內部類的簡寫格式

* 2.定義匿名內部類的前提

* 內部類必須是繼承乙個類或者實現介面

* 3.匿名內部類的格式

* new 父類或者介面().成員

*

* 4.其實匿名內部類就是乙個匿名子類物件.而且這個物件有點胖.

* 5.匿名內部類中定義方法 最好不要超過3個.**/

abstract class absdemo

class outer

}public void function()

//採用 匿名內部類實現

public void function1()

}.show();

new absdemo()

void method()

}.method();

//發現 要進行多方法呼叫的時候 每次都要建立乙個物件}}

public class anonymousinner

}/***

* 題目 補足** 採用匿名內部類完成

*/inte***ce inter

class test};}

}class anonymousinnertest

}/**

* 面試題:如果沒有介面 沒有 父類 請寫乙個 匿名抽象類呼叫乙個方法

*/class innertest

}.function();}}

java之9天 內部類

size medium b 內部類,靜態內部類,全域性內部類 b size 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有乙個外部類的引用,格式為 外部類名.this.成員 2.外部類要訪問內部類,必須建立物件 訪問格式 當內部...

第10天內部類

一成員內部類 作為外部類的成員存在,與成員變數和方法平級關係。class out class b public class test 輸出 我是內部類 我是外部類 外部類中i 1 j 1 內部類中i 2 成員內部類的位元組碼檔案格式 外部類 內部類名.class 二區域性內部類 作為區域性成員存在,...

第10天內部類

一成員內部類 作為外部類的成員存在,與成員變數和方法平級關係。class out class b public class test 輸出 我是內部類 我是外部類 外部類中i 1 j 1 內部類中i 2 成員內部類的位元組碼檔案格式 外部類 內部類名.class 二區域性內部類 作為區域性成員存在,...