黑马程序员技术交流社区
标题:
JDK API 中List 为滚动列表框 List<T>才是集合 为什么编译的...
[打印本页]
作者:
刘圣繁
时间:
2013-2-20 23:07
标题:
JDK API 中List 为滚动列表框 List<T>才是集合 为什么编译的...
JDK API 中List 为滚动列表框 List<T>才是集合 为什么编译的时候List l=new ArrayList();可以通过
作者:
张豪杰
时间:
2013-2-21 00:32
List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。List list = new ArrayList();这句创建了一个List引用指向了ArrayList对象,就是多态了啊,此时ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。
比如下面代码就是实现接口多态
interface InterA
{
void fun();
}
//实现接口InterA的类B
class B implements InterA
{
public void fun()
{
System.out.println(“This is B”);
}
}
//实现接口InterA的类C
class C implements InterA
{
public void fun()
{
System.out.println(“This is C”);
}
}
class Test
{
public static void main(String[] args)
{
InterA a;
a= new B();
a.fun();
a = new C();
a.fun();
}
}
输出结果为:
This is B
This is C
上例中类B和类C是实现接口InterA的两个类,分别实现了接口的方法fun(),通过将类B和类C的实例赋给接口引用a而实现了方法在运行时的动态绑定,充分利用了“一个接口,多个方法”展示了Java的动态多态性。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2