導航:首頁 > 編程語言 > java方法內部類定義方法

java方法內部類定義方法

發布時間:2023-01-24 05:47:32

A. java內部類有幾種

Java中的幾種內部類:
成員內部類:作為外部類的一個成員存在,與外部類的屬性、方法並列。當某個類除了他的外部類,不會被其他類使用時應該選擇使用成員內部類。
局部內部類:局部內部類定義在外部類的某個代碼塊或方法塊中。如果只會在某個方法或塊中創建這個類的對象,就可以使用局部內部類。
匿名內部類:匿名內部類一般定義在需要傳遞介面或回調的的地方,一個匿名內部類一定是在new的後面,用其隱含實現一個介面或繼承一個類。假如只需要創建這個類的一個對象不需要知道其實際類型(不需要使用到類名),那麼就可以使用匿名內部類。
靜態內部類:和成員內部類一樣,作為外部類的一個成員存在,與外部類的屬性、方法並列,只不過在聲明類的時候加入了static關鍵字。有時候,使用內部類只是為了把一個類隱藏在另外一個類的內部,並不需要內部類引用外圍類對象。這時可以使用靜態內部類,以便取消產生對外部類的引用。

B. java可以在方法內部定義內部類嗎

可以的
把類放在方法內
class Outer {
public void doSomething(){
class Inner{
public void seeOuter(){
}
}
}
}
(1)、方法內部類只能在定義該內部類的方法內實例化,不可以在此方法外對其實例化。
(2)、方法內部類對象不能使用該內部類所在方法的非final局部變數。
因為方法的局部變數位於棧上,只存在於該方法的生命期內。當一個方法結束,其棧結構被刪除,局部變數成為歷史。但是該方法結束之後,在方法內創建的內部類對象可能仍然存在於堆中!例如,如果對它的引用被傳遞到其他某些代碼,並存儲在一個成員變數內。正因為不能保證局部變數的存活期和方法內部類對象的一樣長,所以內部類對象不能使用它們。

C. java中一個方法裡面可以再定義一個方法么

不能,方法內部只能調用一個方法,或者你可以使用方法的內部類來實現方法內部類中定義方法。

D. java中能在方法中定義方法嗎

方法中不能直接定義方法,但可以在方法中定義類,類裡面再定義方法:
Java code?
public static void main(String[] args) {
class B {
void test() {
System.out.println("test()");
}
}
new B().test();
}

E. java中靜態內部類是怎麼定義的

需要了解2個概念:內部類和靜態修飾符static
1)首先,用內部類是因為內部類與所在外部類有一定的關系,往往只有該外部類調用此內部類。所以沒有必要專門用一個Java文件存放這個類。
2)靜態都是用來修飾類的內部成員的。比如靜態方法,靜態成員變數,靜態常量。它唯一的作用就是隨著類的載入(而不是隨著對象的產生)而產生,以致可以用類名+靜態成員名直接獲得。
這樣靜態內部類就可以理解了,因為這個類沒有必要單獨存放一個文件,它一般來說只被所在外部類使用。並且它可以直接被用
外部類名+內部類名
獲得。
以下舉例說明怎麼使用:
Student類有個叫School的內部類(非靜態)
Student
stu
=
new
Student();
stu.School
sch
=
new
stu.School();
sch就是School的一個對象。
假如School是內部靜態類:
Student.School
sch
=
new
Student.School();

F. 在java定義內部類

public class A {
void a{ class B{...} }
public static void main(String[] args {
...
}

public class A {
public class B {
...}
public static void main(String[] args {
...
}
這些都是可以的

public class A {
void a {
Protected class B {
...}
}
public static void main(String[] args {
...
}
這一個不可以。
對於內部類,就想類的屬性一樣,可以用 public private protected 修飾,或者什麼都不加,但是如果這個內部類在類的方法裡面,public private protected都不能使用。就想在方法中定義變數不能加這三個修飾符一樣,方法中的內部類也不能使用設三個修飾符,在方法中定義一個內部類,一般是為了隱藏某種實現細節,這個方法中的內部類是不能在這個方法之外用new 關鍵字來創建的,但是可以作為這個方法的返回參數。
關於你補充的問題,我還沒使用過。我覺得Java作為一門高級語言,應該有這方面的設計,我沒有用過。

G. java 在方法中定義內部類 訪問方法的參數或方法中的變數

親測1.6 1.7都會編譯出錯.

Java 8的新特性,但其實只是讓你方便一點,在你這個內部類里效果等同於final
比如,如果你想修改x或info
a = 100
那麼會告訴你:
Local variable defined in an enclosing scope must be final or effectively final
注意後面說的effectively final,就是說表面上沒有final修飾,但實際上必須和final有相同的效果

H. Java 類中定義方法的問題

類中方法定義內部類通常是為了隱藏實現。
此處為這次測試的代碼清單:

值得注意的是,類B前智能加final或abstract,不能加public private protected,而且方法a()不能定義為
B a()
{
class B implement C{...}
...
return new B();
}
而一定要返回外部定義了的介面C或者外部定義了的父類。

I. java方法內部 能不能寫方法

肯定不行的,比如public void h(){ void f(){}}這樣的語句是錯誤的,只能在方法內部調用其他方法,不能在方法內部定義方法,也就是不支持內部方法。

J. java 中方法內可以定義方法嗎方法內可以定義類嗎

方法里不能定義方法
方法里可以定義類(內部類 匿名類)
於是方法中還是可以間接定義方法的

樓上的胡說

閱讀全文

與java方法內部類定義方法相關的資料

熱點內容
最便宜的雲盤伺服器架設傳奇 瀏覽:790
java反向工程 瀏覽:110
pdf文檔轉換excel 瀏覽:8
主角叫楚天的都市小說 瀏覽:754
程序員三重境界 瀏覽:871
菜雞方舟上怎麼開伺服器 瀏覽:727
馬林固件編譯錯誤 瀏覽:910
市場營銷案例pdf 瀏覽:770
魔爪閱讀網 瀏覽:19
app地推業績統計在哪裡 瀏覽:993
維語電影網站大全 瀏覽:958
程序員骨腫瘤上熱搜 瀏覽:847
聚優電影 瀏覽:45
國企保底工資演算法 瀏覽:730
視聽說伺服器地址是什麼意思 瀏覽:657
一部男主叫大志的電影叫 瀏覽:650
安卓反編譯後編譯不回來 瀏覽:195
快穿肉文推薦 瀏覽:263
lol新手推薦什麼伺服器 瀏覽:283
尼桑奇駿壓縮機 瀏覽:170