构造器及重载
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造器及重载相关的知识,希望对你有一定的参考价值。
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 结语
本文简单介绍了如何定义构造器和怎样被调用,以及构造器的重载,在面向对象编程基础上增加了一定的基础知识,还有很多的细节和扩展知识值得了解,未来在实际开发中还需不断继续学习。
以上是关于构造器及重载的主要内容,如果未能解决你的问题,请参考以下文章
Java中的(构造方法方法重载final修饰符使用及继承和抽象)