首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java 满载构造器的选择

2012-12-19 
Java 重载构造器的选择在Java类中可以重载多个构造器,只要他们有不同的参数声明。然而在使用中却会碰到这种

Java 重载构造器的选择

在Java类中可以重载多个构造器,只要他们有不同的参数声明。

然而在使用中却会碰到这种令人混淆的情况:

?

class A{

???

??? public A(Object o){

?????? //...

??? }

?

??? public A(String[] strings){

?????? //...

??? }

????

??? //...

}

?

构造器调用的地方:

A a = new A( null );

?

这时虚拟机会使用的哪一个构造器来构造A对象呢?

答案:A

?

原因是Java重载的解析过程分为两个阶段:

?? 1,选取所有可以应用的方法或者构造器

?? 2,从1的列表中选择最精确的一个

?

Object是所有类型中最不精确的一个,所以null被看成String[]类型。

?

热点排行