A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JDK API 中List 为滚动列表框  List<T>才是集合  为什么编译的时候List l=new ArrayList();可以通过

1 个回复

正序浏览
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的动态多态性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马