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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

创建这样的一个类是否编译时默认有构造函数存在
class Demo {
         
}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

6 个回复

倒序浏览
有存在,构造函数是Demo (){},这是默认隐式创建的
回复 使用道具 举报
有,系统为类创建的默认构造函数
类中没有显式定义构造函数时,系统会给该为加一个空参数的构造函数;
类中有自己显式定义的构造函数时,默认构造函数就不存在了
可以用代码测试下:
class Demo {

}
public class Test{
       
        public static void main(String[] args){
                Demo d=new Demo();
                System.out.println(d);
        }
}
这段代码可以编译通过,且运行结果为Demo@182f0db,说明Demo对象d被正常创建,且hashcode为182f0db

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
有 自己不建构造函数系统会自动生成一个空的构造函数如 public Demo(){}

点评

MVP
不是所有类自动生成一个空的构造函数都是public修饰的,是要看该类的权限的,上述该类自动生成的空构造函数是 Demo(){}  发表于 2014-3-8 16:59
回复 使用道具 举报
有的~
当一个类没有构造函数时 系统会自动调用一个默认构造函数
class Demo(){

}
无参且没方法体~

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
有一个空参数的构造函数Demo(){}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马