灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3008回复:0

Java中的缺省构造方法

楼主#
更多 发布于:2012-09-08 09:47


如果你写的类中没有构造方法,则编译器会自动帮你创建一个缺省构造方法(无参的构造方法)。
但是,如果你已经定义了一个构造方法(无论是否有参数),编译器就不会帮你自动创建缺省构造方法。
有一个类:

[java]
    class Dog {
    private String name;

    Dog(String name) {}
}
class Dog {
    private String name;
    Dog(String name) {} www.atcpu.com
}
这个类已经有一个有参的构造方法了,所以编译器就不会帮你自动创建无参的缺省构造方法了,如果你这样写:

[java] view plaincopyprint?new Dog();
new Dog();
编译器就会报错:没有找到匹配的构造器。这就好比,要是你没有提供任何构造器,编译器会认为:“你需要一个构造器,让我给你制造一个吧”,但假如你已写了一个构造器,编译器则会认为:“啊,你已写了一个构造器,所以你知道你在做什么;你是刻意省略了缺省构造器。”
作者:tianjf0514

喜欢0 评分0
游客

返回顶部