2006-10-12 星期四
今天沒(méi)有上課,但是還要過(guò)來(lái),真是過(guò)水。
在《java編程思想》上看了個(gè)關(guān)于內(nèi)部類的例子,感覺(jué)很有意思,自己打出來(lái),作了些注釋,加深理解記憶。
//聲明接口Ia
interface Ia
{
int a();
}
//聲明接口Ib
interface Ib
{
String b();
}
//聲明類,在其中聲明內(nèi)部類實(shí)現(xiàn)上兩個(gè)接口
class Test
{
//內(nèi)部類 a 實(shí)現(xiàn)接口Ia
private class a implements Ia
{
private int value = 11;
public int a()
{
return value;
}
public String a2()
{
return "a2()";
}
}
//內(nèi)部類 b 實(shí)現(xiàn)接口Ib
protected class b implements Ib
{
private String value = "b";
public String b()
{
return value;
}
public String b2()
{
return "b2()";
}
}
//Test類的方法 返回一個(gè)a接口對(duì)象
//用戶不能從該對(duì)象向下轉(zhuǎn)型,也就是不知道它向下是a類型
public a getIa()
{
return new a();
}
public b getIb()
{
return new b();
}
}
public class TestParcel
{
public static void main(String[] args)
{
Test test = new Test();
Ia ia = test.getIa();
System.out.println(ia.a());
//ia不能訪問(wèn)a類實(shí)現(xiàn)Ia接口以外的擴(kuò)張方法
//ia.a2();
Ib ib = test.getIb();
System.out.println(ib.b());
//ib.b2();
//Test.a ia = test.new a();
}
}
也許java的類庫(kù)有的就是這種實(shí)現(xiàn),我們可以通過(guò)某個(gè)類的方法得到某個(gè)接口的實(shí)例。^_^
posted on 2008-08-26 22:05 豬 閱讀(80) 評(píng)論(0) 編輯 收藏