为什么带有arg的构造函数未定义默认构造函数? [英] Why does constructor with arg undefine the default constructor?

查看:93
本文介绍了为什么带有arg的构造函数未定义默认构造函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑-

public class Class_A {

    public void func() {...}

    public void func(int a){...}

全部三个-

Class_A a = new Class_A(); // legal
a.func(); // legal
a.func(1); // legal

但是在构造函数为arg 之后,例如 public Class_A(int a){...} 添加到 Class_A 中,默认构造函数成为-

But After constructor with arg like public Class_A (int a){...} is added to Class_A , the default constructor become to be -

Class_A a = new Class_A(); // The constructor Class_A() is undefined

那迫使我添加 public Class_A(){/ *什么都不做* /} Class_A 中。

每个类都有默认构造函数,为什么默认构造函数和带有的构造函数不能同时存在于同一 func中() func(int a)是?

Since each class has default constructor , why doesn't both default constructor and constructor with arg can exist together just same func() and func(int a) are ?

推荐答案

除非您定义了自己的构造函数,否则它具有默认构造函数,在这种情况下,您需要重新定义默认构造函数

it has default constructor unless you define your own constructor, in this case you need to re define default constructor

这篇关于为什么带有arg的构造函数未定义默认构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆