构造器及重载
1 问题
在新建一个类的对象之后,想要初始化对象的值,必须添加构造器(也叫构造方法),分为无参构造器和有参构造器,如果没有手动定义有参构造器,编译器会自动定义一个无参构造器,用于对象的初始化。而构造器的重载用于创建不同的对象。
2 方法
2.1定义构造器
普通方法的特性依旧全部适用于构造器,需要注意构造器的方法名必须和类名保存一致,构造器在被定义之后,创建一个类的对象时就会默认执行构造方法。构造器通过new关键字调用.
package test03;
public class MenuItem {
// (1.1)菜单序号
int no;
//(1.2)菜单内容
String content;
public static void main(String[] args) {
// 通过new关键字调用构造方法
MenuItem item01 = new MenuItem();
MenuItem item02 = new MenuItem(30,"陈相君");
}
MenuItem(){ // 无参构造器
}
MenuItem(int no,String content){ // 有参构造器
// 构造器有返回值,但是不能定义返回值的类型,返回值是本类,无需定义.
// return new item;
// this 在构造方法中代表当前对象 this的本质就是创建好的对象的地址.
this.no = no;
this.content = content;
}
}
2.2构造器的重载
构造器的重载跟方法的重载一模一样,构造器经常需要重载,用于创建不同的用户对象,构造器重载就是构造器的方法名一样,形参列表不同.
package test03;
// 测试构造器重载
public class Student {
int no; // 学号
int passwd; // 密码
String name; // 姓名
public static void main(String[] args) {
Student stu1 = new Student();
Student stu2 = new Student(30,"陈相君");
Student stu3 = new Student("陈相君",30,123456);
}
Student(){ // 无参构造器
}
Student(int no, String name){ // 带参构造器
this.no = no; // this 表示创建好的对象
this.name = name; // 构造方法中形参与属性名相同时,用this区分属性与形参.
}
Student(String name,int no,int passwd ){
this.name = name;
// this.no 表示属性no, this 用于区分成员变量和局部变量.
this.no = no;
this.passwd = passwd;
}
3 结语
本文简单介绍了如何定义构造器和怎样被调用,以及构造器的重载,在面向对象编程基础上增加了一定的基础知识,还有很多的细节和扩展知识值得了解,未来在实际开发中还需不断继续学习。
相关文章
- 浅析基于云-边-端协同AI智能分析网关的算力资源智能调度能力
- 小小闭门会,揭示SaaS大趋势
- 软件测试|比Selenium更加强大的Playwright
- 明天 9 点!Doris Summit 2022 拉开序幕,立即报名年度技术盛会!
- “数智话”技术沙龙第四期 | 弹性MapReduce(EMR)专场,报名中!
- Zabbix与乐维监控对比分析(七)——网络功能篇
- foobar2000 for mac(多功能音频播放器)v2.5.0b17免激活版
- 技术汇总:第十三章:三级缓存
- 6大多人协作工具推荐
- 全球互联网进入IPv6主导期 IPv6标准快速演进
- 企点聊营销 | 拒绝“单打”,全域触达要有“大局观”!
- 疫情下的人名梗,刮起商标抢注风?
- 利用Email.icu发展您的业务
- 优雅应对故障:QQ音乐怎么做高可用架构体系?
- 腾讯云 CODING 入选 「2022 中国技术品牌影响力企业榜」
- 最新 | CCF推荐国际学术刊物&国际学术会议-人工智能
- 干货分享|双涡轮模型2.0,行业营销服最佳实践
- 揭秘通信协议设计的奥妙,作为面试官我都看蒙了
- 异步结果通知实现——基于Redis实现,我这操作很可以
- 太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)