導航:首頁 > 編程語言 > 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方法內部類定義方法相關的資料

熱點內容
考駕照怎麼找伺服器 瀏覽:882
阿里雲伺服器如何更換地區 瀏覽:970
手機app調音器怎麼調古箏 瀏覽:501
銳起無盤系統在伺服器上需要設置什麼嗎 瀏覽:17
紅旗計程車app怎麼應聘 瀏覽:978
如何編寫linux程序 瀏覽:870
吉利車解壓 瀏覽:248
java輸入流字元串 瀏覽:341
安卓軟體沒網怎麼回事 瀏覽:785
dvd壓縮碟怎麼導出電腦 瀏覽:274
冒險島什麼伺服器好玩 瀏覽:541
如何在伺服器上做性能測試 瀏覽:793
命令序列錯 瀏覽:259
javaif的條件表達式 瀏覽:576
手機app上傳的照片怎麼找 瀏覽:531
雲伺服器面臨哪些威脅 瀏覽:748
c語言各種編譯特點 瀏覽:177
路由器多種加密方法 瀏覽:604
程序員阻止電腦自動彈出定位 瀏覽:168
如何做伺服器服務商 瀏覽:762