[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 二區域性內部類 作為區域性成員存在,...