java內部類例項化時報錯的問題
如果有一個類的結構如下:
public class Data {
public class Item {
}
};
如果需要例項化Item類時,可能會寫成:Data.Item item = new Data.Item();
但是編譯器就會出現一個錯誤:'com.test.Data.Item' is not an enclosing class
其實這種寫法是錯誤的,正確的方式為:
Data data = new Data();
Data.Item item = data.new Item();
如果內部類是static的,如下:
public class Data {
public static class Item {
}
};
那就可以直接使用如下方式來例項化:Data.Item item = new Data.Item();
相關推薦
java內部類例項化時報錯的問題
如果有一個類的結構如下: public class Data { public class Item { } }; 如果需要例項化Item類時,可能會寫成:Data.Item item = new Data.Item(); 但是編譯器就會出現一個錯誤:'com
java 內部類例項化方式
1、java成員和靜態內部類的使用,適用類本身適用,旨在減少檔案個數和方便維護管理; 2、匿名內部類方便不同業務實現下的靈活使用; 3、區域性內部類,跟匿名內部類相仿,但功能不同。 本文著重講: ①java成員內部類和靜態內部類的例項化方式, ②內部類的方法呼叫方式
java內部類例項化物件
package com.lzcc.oop.testpolymorphism; /** * 多型測試 * * @author 包子 * */ public class Person {
java內部類序列化的問題
java中,類實現了java.io.Serializable就可以序列化了,但是內部類有點特殊,內部類的序列化問題需要考慮外部類,如果僅僅內部類實現了java.io.Serializable,那麼這個內部類是不能被序列化的,此時外部類也需要實現java.io.Serializable,詳細文章可以閱
關於Java內部類序列化
情況一: public class DistributeData implements SerializedName{ public class CodeDetail {...} } CodeDetail並不會被序列化。 情況二:
Java內部類例項測試及總結
這裡沒有講解理論是怎麼樣的,我用例項說明,個人覺得比理論更來得實際,並寫下了測試的總結。 /** *內部類測試 *@authorhttp://blog.csdn.net/fenglibing *總結: *1、可以通過外部類的方法呼叫成員內部類、靜態內部類 *2、內部成員類
Java內部類序列化
一個類能夠序列化,需要滿足兩個條件: 類本身實現序列化介面Serializable 類所有的成員屬性實現序列化介面Serializable Java的巢狀類(nested class)一共有四種: static nested class 靜態巢狀類
通過Xib自定義UIViewController例項化時報錯的解決
自定義一個UIViewController,名為FooViewController 因為希望各個VC獨立分開,所以沒有將自定義控制器的UI放到storyboard裡,而是單獨做了一個xib檔案。 注意Xcode自定義繼承自UIViewController的類
如何例項化 java 內部類
package practive_java; class cow { private double weight; public cow() { weight=0; } public cow(double data) { weight=data;
Java內部類及其例項化
在 Java 中,允許在一個類(或方法、語句塊)的內部定義另一個類,稱為內部類(Inner Class),有時也稱為巢狀類(Nested Class)。內部類和外層封裝它的類之間存在邏輯上的所屬關係,一般只用在定義它的類或語句塊之內,實現一些沒有通用意義的功能邏輯,在外部引用
java內部類的例項化
一、例項化內部類 java中的內部類如何例項化?例子: public class Animal{ class Head{ } }測試如何例項化內部類: public class TestInstanceInnerClass{ public TestI
java匿名內部類序列化問題
遇到一個序列化問題。明明物件已經實現了序列化介面,但是報錯無法序列化外部的類(內心os,跟外部類什麼關係啊)。 最後發現原因是我使用的物件是匿名內部類的子類,繼承的父類實現了序列化介面。 匿名內部類
Java內部類呼叫報錯
最近在看Java,在編譯寫書上一個例子時,由於書上的程式碼只有一部分,於是就自己補了一個內部類。結果編譯時出現:No enclosing instance of type E is accessibl
Java 建立內部類例項
程式設計中需要訪問內部類,寫C習慣了Java方式多少有些生硬。 其實很簡單: 1 擁有內部類的一個類 public class B{ public void showData() { S
關於Java內部類的初始化
Java類的位置 1、在同個Java檔案中,但不是內部類 public class Test { } class T{ } 這裡的T不是內部類,只是在Test.java檔案的內部而已。 T 的修飾符只允許使用“public”、“abstract”和“
java內部類的初始化
publicclass InnerClassTest { /** * @param args */ publicstaticvoid main(Str
六個例項教你正確使用Java內部類(成員內部類、匿名內部類、靜態內部類、區域性內部類)
內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動) 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類
關於java匿名內部類初始化法
最近無意間發現一種物件的初始化方法:匿名內部類初始化法 List<String> list = new ArrayList<String>(){{ add("愛飄de小子"); add("flyingki
Java內部類引用外部類中的局部變量為何必須是final問題解析
lib soft 編譯器 art http word tail ace 軟件 今天編寫一個多線程程序,發現在方法內定義內部類時,如果內部類調用了方法中的變量,那麽該變量必須申明為final類型,百思不得其解,後來想到應該是生命周期的原因,因為方法內定義的變量是局部變量,
Java內部類之匿名內部類
urn nat 看到了 math 通過 rri 內部 test mat ??我們都知道Java中可以使用內部類,將一個類的定義放在另一個類的定義的內部,這就是內部類,但是匿名內部類往往使我們摸不著頭腦,因為它並沒有特定的名稱,那麽該如何使用它呢? 定義一個匿名內部類 pu