java构造函数调用构造函数[通俗易懂]

java构造函数调用构造函数[通俗易懂]一个类可包含多个构造函数,在java中一个构造函数可以

大家好,又见面了,我是你们的朋友全栈君。

一个类可包含多个构造函数,在java中一个构造函数可以调用另一个构造函数来实现自身。

调用其他构造函数可以使用this关键字进行调用。

例如下面代码:

public class Student {
	private int studentID;
	private String studentName;
	private String sex;
	public Student(int id){
		this.studentID=id;
	}
	public Student(String name,String sex){
		this.studentName=name;
		this.sex=sex;
	}
	public Student(int id,String name,String sex){
		this(name,sex);
		this.studentID=id;		
	}
	public static void main(String[] args) {
		Student stu=new Student(20140506,"小皮","男");
		System.out.println(stu.studentID+","+stu.studentName+","+stu.sex);
	}
}

在构造函数public Student(int id,String name,String sex){}中调用了this(name,sex)构造函数进行初始化。

但是要注意,构造函数只能调用一次,多次调用构造函数会报错。如下:

public Student(int id,String name,String sex){
		this(name,sex);
		this(id);		
}

上面的代码中调用了两次构造函数,因此编译不通过。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 快速入门UML时序图「建议收藏」

    快速入门UML时序图「建议收藏」使用UML时序图重构代码使用UML时序图时序图是什么时序图的元素组合块(CombinedFragment)举例使用UML时序图最近,在重构项目中的老代码的时候,业务复杂,文档缺失。抽丝剥茧,沉迷在剪不断理还乱的纷繁的关系中,像是苏东坡诗中的那只高贵的乌鸦先生找不到落脚之处。披沙拣金,终于理出一点头绪,生怕忘了,赶紧记下来,又苦于没有好的方式去表达这些错杂的关系,蓦然发现,UML时序图是表达业…

    2022年6月29日
    34
  • zip文件加密的几种破解方法

    zip文件加密的几种破解方法一、使用ZipCenOp.jar(需要java环境),在cmd中使用java-jarZipCenOp.jarrxxx.zip成功后压缩包可以直接打开ZipCenOp.jar链接:https://pan.baidu.com/s/1e0Ni2OjxmYEdOY7gGbv6gg提取码:29qi二、使用winRAR进入工具,压缩修复文件,修复完后压缩包就可以打开了上述两种…

    2022年6月1日
    292
  • ICMP详解「建议收藏」

    ICMP详解「建议收藏」ICMP(InternetControlMessageProtocol)网际控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的…

    2022年7月12日
    18
  • python 字幕文件ass格式转换成srt格式

    python 字幕文件ass格式转换成srt格式ass转srt脚本  自己写的一个python脚本,大家可以再GitHub上下载使用。目前为了处理字幕中的中文,ass文件的编码格式支持**UCS-2LEBOM**,srt文件的编码支持**ANSI**。因为我下载下来的字幕基本就是这两个编码。  由于代码测试只测试了个别的ass文件,而且没有完整地核对srt文件。所以代码难免会出现错误:如果您遇到其他编码的文件可以在本贴留言;如…

    2025年5月25日
    0
  • kettle教程[通俗易懂]

    kettle教程[通俗易懂]kettle/spoon教程donwloadwebkettle7.0downloadurlreference

    2022年5月10日
    37
  • navicat premium使用教程详解_navicat premium怎么用

    navicat premium使用教程详解_navicat premium怎么用NavicatPremium基本使用Navicat是一套数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。Navicat是以直觉化的图形用户界面而建的,可以安全和简单地创建、组织、访问并共用信息。NavicatPremium是Navicat的产品成员之一,能简单并快速地在各种数据库系统间传输数据,或传输一份指定SQL格式及编码的纯文本文件。其他功能包括导入向导、导……

    2022年8月20日
    9

发表回复

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

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