回答
是的,你可以。
public final class Test {
// In this method.
private void test() {
// With this local variable.
final List<String> localList = new LinkedList<String>();
// We can define a class
class InnerTest {
// Yes you can!!
void method() {
// You can even access local variables but only if they are final.
for (String s : localList) {
// Like this.
}
}
}
}
}
是的,你可以:
public static void main(String[] args) {
class Foo implements Runnable {
@Override public void run() {
System.out.println("Hello");
}
}
Foo foo = new Foo();
}
我不推薦它雖然,寧願匿名內部類,他們是不夠好,或嵌套類不在其他情況下,方法內。如果你需要一個方法中的命名類,這表明你需要獲得它聲明的額外成員,這會變得混亂。將它分離成它自己的嵌套類(理想情況下使它成爲靜態,去除一堆角落案例)通常會使代碼更清晰。
本地內部類有一個很好的用法,就是你需要像匿名類的東西,但是你需要類有一個構造函數。 – 2012-02-27 11:17:27
@MathiasSchwarz:你可以在大多數情況下使用初始化塊 - 你在構造函數中做什麼需要命名? – 2012-02-27 11:30:48
是的,這是另一種方式。然而,這樣的初始化塊的'參數'需要在外部範圍(方法)中聲明爲最終。 – 2012-02-27 13:19:01
是的,它被稱爲地方內部類 - 你會發現在網絡搜索中使用這個術語的例子。
是的,它被稱爲局部類:Java Language Specification
- 1. 我們可以說方法局部類是一個內部類的類型嗎?
- 2. 外部類可以調用其內部類的方法嗎?
- 3. 我可以從偏好內部啓動一個方法嗎?
- 4. 我可以在SQL UPDATE內部有一個SELECT嗎?
- 5. 我可以注入一個內部類的對象嗎?
- 6. 我可以創建一個內部靜態類的實例嗎?
- 7. UserControl可以在內部嗎?
- 8. 我們可以關閉沒有內部功能嗎?
- 9. 內部類也可以是子類嗎?
- 10. 我們可以從另一個HTML的另一個內部JavaScript函數調用內部JavaScript函數嗎?
- 11. 我可以在我的方法中使用內部類變量嗎?
- 12. 我們可以在內部網上使用SOAP嗎?
- 13. 我們可以在函數內部定義枚舉嗎?
- 14. 我們可以在函數內部聲明函數嗎?
- 15. 一個結構體可以在類內部創建嗎?
- 16. 我可以在python中測試一個內部函數嗎?
- 17. Android DataBinding可以使用內部類嗎?
- 18. NHibernate可以使用內部類型嗎?
- 19. 我的內部API類應該全部在一個包中嗎?
- 20. 我可以獲得Velocity內部方法嗎?
- 21. java中一個類可以擁有多少個內部類
- 22. 可以從方法內部再次調用該方法嗎?
- 23. 我們可以使用selenium-webdriver發現內部HREF值嗎?
- 24. 我們可以與Cloud Service和內部AD環境集成嗎
- 25. 內部類可以訪問外部類的方法從屬性只有
- 26. 我們可以在contextInialized方法內調用getServletContext()嗎?
- 27. 在PHP類中可以在函數內部創建一個私有變量嗎?
- 28. PHP:我可以在我的課程內部調用我的方法嗎?
- 29. 你可以製作一個只能由外部類訪問的內部類的方法嗎?
- 30. 我可以在父母的下方放置一個內部元素嗎?
實際上,你可以這樣嘗試自己,你知道...而且也:http://stackoverflow.com/questions/2428186/use-of- class-definitions-in-a-in-java – Tudor 2012-02-27 11:12:49