內部類在android中有著大量的運用
內部類提供了更好的封裝;內部類可以直接訪問外部類的私有資料;匿名內部類適合那些只需要使用一次的類。非靜態內部類不能擁有靜態成員。內部模擬外部類可以多使用三個修飾符:private、protected、static
將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類(內建類,巢狀類)
訪問特點:
內部類定義在成員位置上
內部類定義在區域性位置上
class
outer
}}
class
outer
}}
class
out}
}···
out.in in =
newout()
.newin(
"test");
//等價於
out.in in;
out out =
newout()
;in = out.
newin
("test");
···
public
class
subclass
extends
out.in
}
在外部類以外使用靜態內部類class
staticout}}
···staticout.staticin in =
newstaticout.staticin()
;//等價於
staticout.staticin in;
in =
newstaticout.staticin()
;
class
outer
}new
inner()
.function()
;}}class
test
}
就是內部類的簡化寫法
前提:
格式為:
簡單理解:
匿名內部類其實就是內部類的簡寫格式
定義匿名內部類的前提:內部類必須是繼承乙個類或者實現介面
匿名內部類的格式:new 父類或者介面()
其實匿名內部類就是乙個匿名子類物件。可以理解為帶內容的物件
匿名內部類中定義的方法最好不要超過3個
abstract
class
absdemo
class
outer
void
abc()}
.show()
;}}class
test
}
匿名內部類的應用
inte***ce
inter
class
test
} */
static inter function()
};}}
class
innerclasstest})
;}public
static
void
show
(inter in)
}
沒有父類及介面如何使用匿名內部類
class
innertest}.
function()
;}}
new 實現介面(
)| 父類構造器(實參列表)
inte***ce product
public class anonymoustest
public static void main(string args)
public string getname()
});}}
class
anonymousproduct
implements
product
public string getname()
}ta.test (
newanonymousproduct()
);
Java內部類學習筆記
size x large b 內部類概念 b size 所謂內部類 inner class 顧名思義,就是將乙個類定義在定義在另乙個類的內部。內部的類稱之為內部類 public class outer b 特點 b list 內部類可以很好的實現隱藏,可以使用protected private修飾符...
JAVA學習筆記10 內部類 匿名內部類
內部類 內部類可以直接訪問外部類成員 包括私有成員 外部類要訪問內部類中的成員必須要建立內部類的物件 class outer public void method 內部類一般用於類的設計 分析事物時 發現該事物描述中還有事物 而且這個事物還在訪問被描述事物的內容 這時就可以將還有的事物用內部類來描述...
內部類之Java學習筆記
建立內部類 可以將乙個類的定義放在另乙個類的內部,這就是內部類。如下所示 迭代器介面 inte ce selector 使用迭代器現實陣列的遍歷 public class sequence public void add object x 定義私有的內部類 private class sequenc...