有这么一个类:public class Interface { public static void print( Collection c)
{
System.out.println("This is a Collection.");
} public static void print( ArrayList a)
{
System.out.println("This is a ArrayList");
} public static void main( String []args)
{
Collection a = new ArrayList();
print( a );
}
}可以看到:
类中有2个重载函数print(),在main()方法中调用的时候,如果
Collection a = new ArrayList();
print( a );
调用的是:
public static void print( Collection c)
{
System.out.println("This is a Collection.");
}
而如果:
ArrayList a = new ArrayList();
print( a );
调用的将是:
public static void print( ArrayList a)
{
System.out.println("This is a ArrayList");
}
高人能告诉我原因啊(实质一点的原因)?
{
System.out.println("This is a Collection.");
} public static void print( ArrayList a)
{
System.out.println("This is a ArrayList");
} public static void main( String []args)
{
Collection a = new ArrayList();
print( a );
}
}可以看到:
类中有2个重载函数print(),在main()方法中调用的时候,如果
Collection a = new ArrayList();
print( a );
调用的是:
public static void print( Collection c)
{
System.out.println("This is a Collection.");
}
而如果:
ArrayList a = new ArrayList();
print( a );
调用的将是:
public static void print( ArrayList a)
{
System.out.println("This is a ArrayList");
}
高人能告诉我原因啊(实质一点的原因)?
解决方案 »
- 新人问题:实际项目中,class是不是基本一律声明为public?
- 一个关于NetBeans的问题
- 通过窗口输入数据后,如何提取这些数据进行处理?
- 谁能给个文件断点续传的上传解决方案啊?
- 面向对象的不足之处
- 关于PreparedStatement的数据类型问题
- [求助]如何克隆??
- 请问有谁手上有IBM 的MQSeries Workflow的使用手册,或者别的Workflow产品的使用手册也行
- 如何把一个浮点数分整数和小数显示?
- Array中的newInstance()返回的是一个Object而不是一个Object数组?
- java如何生成avi格式的文件???
- iterator.next() 请教个遍历
重载是静态绑定的,根据声明类型来确定。
多态才是根据运行时类型来确定。
public static void test(double[] array){
System.out.println("double array");
}
public static void test(Object obj){
System.out.println("Object obj");
}
public static void main(String[] args) {
test(null);
}
}
interface才是关键字,Interface 不是,HOHO
声明的时候 a 是Collection