JAVA 杂谈 --- 重载 构造器

重载:多个方法具有相同名字,但是有不同参数。

编译器根据各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配来挑选出对应的方法。如果编译找不出匹配的参数,就会产生编译时错误。因此,要完整描述一个方法,必须指出方法名和参数类型,也就是方法签名。

注意: 返回类型不是方法签名的一部分。

默认域初始化:如果在构造器没有显式地给域赋予初值,那么就会被自动地赋为默认值:数值为 0,布尔值为 false,对象引用为 null。

如果在编写一个类时没有编写构造器,那么系统就会提供一个无参构造器。如果类中提供了至少一个构造器,但是没有提供无参构造器,那么系统也不会提供无参构造器。

通过重载类的构造方法,可以采用多种形式设置类的示例域的初始状态。

如果构造器的第一个语句如 this(...),那么这个构造器将调用同一个类的另一个构造器。

初始化数据域:

无论使用那个构造器构造对象,id 域都在对象初始化块中被初始化。首先运行初始化块,然后才运行构造器的主体部分。

调用构造器处理步骤:

  1. 所有数据域被初始化为默认值 (0,false,null)
  2. 按照在类声明中出现的次序,一次执行所有域初始化语句和初始化块
  3. 如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
  4. 执行当前构造器主体
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2812 引用 • 8043 回帖 • 749 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...