匿名內部類的常規內部類:
1.內部類裡不可以有static關鍵字的修飾。
2.內部類裡可以直接呼叫外部類的例項方法或者是例項變數(無論private還是public的)無需建立物件在呼叫這些。
3.在外部類裡可以在例項方法裡直接建立內部類的物件。
4.編譯下面**會產生兩個檔案:routineinnerclass.class和routineinnerclass$innerclass.class。
package innerclass;
/** * created by mr.meng on 2016/7/3.
*/public
class
routineinnerclass
public
void
outmethod()
private
void
outmethodprivate()
public innerclass makeinnerobject()
//常規內部類可以不用呼叫外部類的物件,來獲取它的非靜態方法和變數
class innerclass
}public
static
void
main(string args)
}
結果如下:
可以直接得到外部類的靜態變數staticstring
我是外部類的方法,建立了乙個內部類的物件:innerclass.routineinnerclass$innerclass@10b30a7
我是內部類的變數,我是外部類的staticmethod:inner
im staticmethod
outmethod
outmethodprivate
內部類裡呼叫了外部的私有變數:out
我是外部類的方法,建立了乙個內部類的物件:innerclass.routineinnerclass$innerclass@1a758cb
內部類裡的區域性內部類
package innerclass created by mr.meng on 2016 7 4.方法裡的內部類是無法加static關鍵字的。不是靜態內部類都不能有靜態變數和方法。靜態 塊裡不能寫方法,無論靜態還是例項方法,但可以呼叫外部類的靜態方法。方法定義區域性內部類同方法定義區域性變數一樣,...
常規內部類 區域性內部類 匿名內部類和靜態巢狀類小結
1.常規內部類 內部類就像乙個例項成員一樣存在於外部類中。內部類可以訪問外部類的所有成員就想訪問自己的成員一樣沒有限制。內部類中的this指的是內部類的例項物件本身,如果要用外部類的例項物件就可以用類名.this的方式獲得。內部類物件中不能宣告靜態成員,原因很簡單,內部類的例項物件是外部類例項物件的...
內部類 成員內部類 區域性內部類 匿名內部類
public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...