Java中构造方法的作用

Java中构造方法的作用初学 Java 的构造方法时 根本不能理解构造方法有什么用 自己写程序的时候也从来没有用过 于是刚开始我写的程序是这样的 packagetest3 publicclassS privateStrin privatelongI privatedoubl publicString returnna

初学Java的构造方法时,根本不能理解构造方法有什么用,自己写程序的时候也从来没有用过。于是刚开始我写的程序是这样的:

package test3; public class Student { 
    private String name; private long ID; private double score; public String getName() { 
    return name; } public void setName(String name) { 
    this.name = name; } public long getID() { 
    return ID; } public void setID(long iD) { 
    ID = iD; } public double getScore() { 
    return score; } public void setScore(double score) { 
    this.score = score; } public static void main(String[] args) { 
    Student s = new Student(); s.setName("张三"); s.setID(); s.setScore(86.0); System.out.println("学号为" + s.getID + "的" + s.getName() + "的成绩为" + s.getScore + "分。"); } }

然后我发现,这样写程序有弊端。就是比如我要登记学生的基本情况,有姓名、学号、年级班级、成绩等等好多情况,如果有很多属性,同时实例化了好多对象,我可能就会忘记忘记初始化一些属性;同时,这样还需要写许多get和set方法,虽然可以由eclipse自动生成,但还是显得代码很冗长,不便于阅读。这个时候就显示出构造方法的重要性了。

构造方法的主要作用就是创建对象。

构造方法分为有参数和没有参数两种。有参数的构造方法主要就是用于对创建出来的对象进行初始化,比如下边这个例子:

package test3; public class Test_Constructor1 { 
    private String name; private String gender; private long ID; private long birthday; Test_Constructor1(String name, String gender, long ID, long birthday) { 
    this.name = name; this.gender = gender; this.ID = ID; this.birthday = birthday; } public static void main(String[] args) { 
    Test_Constructor1 s = new Test_Constructor1("Lily", "女", , ); System.out.println("姓名:" + s.name + " 性别:" + s.gender + " 学号:" + s.ID + " 生日:" + s.birthday); } }

另一种是没有参数的构造方法,又叫缺省构造方法。其实,你的类如果没有定义任何构造方法,Java的编译器会配上一个自动缺省构造方法,这个构造方法是空的,不做任何事情,只是为了满足编译需要。或者,你也可以自己写一个空的构造方法,在里边对一些属性赋值,或者执行一些其他操作,比如下边这个例子:

package test3; public class Test_Constructor2 { 
    private int i; Test_Constructor2() { 
    i = 5; System.out.println("i的值是" + i); } public static void main(String[] args) { 
    Test_Constructor2 s = new Test_Constructor2(); } }

其实,构造方法的主要作用就是为对象成员变量赋初始值,总是与new运算符一起使用在创建对象的语句中——也就是说,只要你new一个对象出来,就会相应地调用这个类的构造方法。有参数的构造方法可以对对象进行初始化,但建议写了有参的构造方法后再写一个无参的空的构造方法,便于创建一个对象而不给它的成员变量赋初值。要注意,自己写了有参的构造方法,编译器是不会再补充一个缺省构造方法的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218895.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:13
下一篇 2026年3月17日 下午11:13


相关推荐

  • 怎么修改Ubuntu更新源服务器为国内地址

    怎么修改Ubuntu更新源服务器为国内地址 Ubuntu系统安装完默认更新源是国外服务器,总所周知的原因我天朝连接外国的速度那是很有讲究的,如果偶尔用用Ubuntu也就无所谓了,但是经常使用肯定会让你崩溃的,国内国外速度相差十倍都不止。更新源地址也很简单,有两种方法,一种是如果安装了图形界面,通过配置中心来更改是很方便的;还有一种就是纯服务器版,没有图形界面通过更改配置文件来更换源地址,并且命令行的方法可以随意添加任何可用的更新源地址,…

    2022年5月14日
    52
  • RHCE考试经验

    RHCE考试经验在 Chinaunix 上看到的一些 RHCE 考试方面的经验 希望对自己的考试有所帮助 RHCE 培训 nbsp nbsp RHCE 官方教材类似与网络技术思科的教材 都具有以下的特点 nbsp nbsp 一 教材具有系统性 无论是基础知识还是应用都基本覆盖了 作为 linux 新手或者是觉得自己 linux 技术不够全面的 认真学习教材还是能够获得很大的提升的 nbsp nbsp 二 对于任何应用而言 教材所教的知识其实都不能适用于较

    2026年3月20日
    1
  • 深入学习USB(6)USB Type-C接口定义概念解析

    深入学习USB(6)USB Type-C接口定义概念解析一 Usbtypec 接口定义介绍 USBType C 接口总计有 24 个针脚 可以正反插且传输速度快 接口没有方向性 让用户在使用中避免出现插错的情况 一般简称有 typec type c 等这些指的都是同一个产品 而 USB3 0 接口通常是 9 到 11 个 USB2 0 只有 4 个针脚 针脚的增多并没有导致 Type C 接口体积变大 实际上它还缩小了体积 相对标准口来说 满足了移动设备的需求 二 USB3 1type c 接口特性特性 1 全新接口设计 尺寸约 8 4mmx2 6mm 接口纤薄特性 2 功率输出能

    2026年3月17日
    2
  • 东华大学计算机考研录取分数线,东华大学2019年考研复试录取分数线

    东华大学计算机考研录取分数线,东华大学2019年考研复试录取分数线

    2021年11月28日
    48
  • IDEA 快捷键大全

    IDEA 快捷键大全Ctrl+Shift+Enter,语句完成“!”,否定完成,输入表达式时按“!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[OR],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按F3可以选择Ctrl+N,可以快速打开类C…

    2022年5月14日
    52
  • MIPI协议(下)

    MIPI协议(下)GOON…完成mipi信号通道分配后,需要生成与物理层对接的时序、同步信号: MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以…

    2022年4月30日
    73

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号