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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ﹎◇waiting﹎ 初级黑马   /  2012-8-1 12:50  /  2467 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果你写的类中没有构造方法,则编译器会自动帮你创建一个缺省构造方法(无参的构造方法)。

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

例如有一个类:


[java]
     class Dog {
     private String name;
  
     Dog(String name) {}
}
class Dog {
     private String name;

    Dog(String name) {}
}
这个类已经有一个有参的构造方法了,编译器会不会帮它自动创建无参的缺省构造方法呢?

2 个回复

倒序浏览
本帖最后由 赵俊杰 于 2012-8-4 18:33 编辑

这个类已经有一个有参的构造方法了,编译器会不会帮它自动创建无参的缺省构造方法呢?
答:编译器不会再帮你自动创建无参的缺省构造方法了。
按照楼主的代码,如果此时直接new Dog(),编译器就会报错,如果您的确需要无参构造方法,需要您再手动添加一个无参构造方法。
Dog(){
System.out.println("我不用传参,您省事多了");
}
回复 使用道具 举报
看看..................
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马