请问在Java类中, 什么是无参的构造函数和默认的构造函数呢?

这种是什么意思的呢?最好能够分别举一个例子!... 这种是什么意思的呢?

最好能够分别举一个例子!
展开
 我来答
育知同创教育
2018-01-11 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

当类没有声明构造方法的时候,就会使用默认的构造方法, 这个默认的构造方法就是“无参构造方法”

当类声明了有参构造方法的时候,默认构造方法就失去了本身的作用。


public class Client {

    public static void main(String[] args) {
        // 声明一个Cls3
        Cls3 cls3;
        // 获取Cls3 对象有两种方式
        {
            cls3 = new Cls3();  // 使用无参构造对象
            cls3 = new Cls3("有参");  // 使用有参构造对象
        }

        // 声明一个Cls2
        Cls2 cls2;
        // 获取Cls2对象
        {
//            cls2 = new Cls2();  // 因为cls2只有一个有参构造方法,使用无参构造方法构造对象会出现编译错误。
            cls2 = new Cls2("有参"); // 使用有参构造对象
        }

        // 声明一个Cls1
        Cls1 cls1;
        {
            cls1 = new Cls1();  // 使用无参构造对象
        }
    }

}

// 定义一个默认构造方法的类
class Cls1 {

}

// 定义一个有参的构造方法类
class Cls2 {
    Cls2(String arg) {

    }
}

// 定义一个有参和无参两个构造方法的类
class Cls3 {
    Cls3() {

    }

    Cls3(String arg) {

    }
}
追问
有参数的构造方法就是在类名的括号里面写个东西是吗?
百度网友01608f61
2018-01-11 · TA获得超过132个赞
知道答主
回答量:151
采纳率:56%
帮助的人:51.3万
展开全部
你看哈,我想知道当前时间,我这么输出:
System.out.println(new Date());
---输出结果:[Thu Jan 11 09:32:50 CST 2018]
同一个类,我这么用:
System.out.println(new Date(321312312));
---输出结果:[Mon Jan 05 01:15:12 CST 1970]
这就是构造函数,new的是同一个类,但是放的参数不同,返回的东西也不一样
追问
java类中,可不可以不写构造函数呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-01-11
展开全部

不写构造函数时编译器会自动加上默认构造函数

更多追问追答
追问
你的意思是上面的无参构造函数即那个test的括号里面没有设一个东西是吗?
然后,有参构造函数就是test的括号里面有设一个东西是吗?
追答
对的,无参的构造函数就是在new 一个对象的时候Test test = new Test(),之后test.a就等于1
有参的构造函数就是Test test = new Test(2),之后test.a等于2,具体调用哪一个看你在声明的时候是否赋值,如果在类里面有参、无参构造函数都没有写,就会有一个默认的构造函数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式