2006年10月13日星期五

2006-10-12 星期四

今天没有上课,但是还要过来,真是过水。

在《java编程思想》上看了个关于内部类的例子,感觉很有意思,自己打出来,作了些注释,加深理解记忆。

//声明接口Ia

interface Ia

{

int a();

}

//声明接口Ib

interface Ib

{

String b();

}

//声明类,在其中声明内部类实现上两个接口

class Test

{

//内部类 a 实现接口Ia

private class a implements Ia

{

private int value = 11;

public int a()

{

return value;

}

public String a2()

{

return "a2()";

}

}

//内部类 b 实现接口Ib

protected class b implements Ib

{

private String value = "b";

public String b()

{

return value;

}

public String b2()

{

return "b2()";

}

}

//Test类的方法 返回一个a接口对象

//用户不能从该对象向下转型,也就是不知道它向下是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不能访问a类实现Ia接口以外的扩张方法

//ia.a2();

Ib ib = test.getIb();

System.out.println(ib.b());

//ib.b2();

//Test.a ia = test.new a();

}

}

也许java的类库有的就是这种实现,我们可以通过某个类的方法得到某个接口的实例。^_^

没有评论:

发表评论