一、构造方法概述
- 必须和类名相同
- 不能有返回值类型 void也不能有
- 不能写返回值 (但是可以单独写一个 return,目的是为了强制终止构造方法)
1.无参构造方法
修饰符 类名() {
}
实例:
public Student() {
}
2.有参构造方法
修饰符 类名(参数) {
//方法体
}
实例:
public Student(int name) {
this.name = name;
}
构造方法的调用:
构造方法的作用是创建对象, 只能使用new调用,用来创建对象,不能使用对象去调用。
实例:
Student sc = mew Student();
二、构造方法的注意事项
构造方法 顾名思义 “构造” 也就是说 这个方法是为了创建对象而存在的,换句话说, 如果一个类中没有构造方法 那么这个类创建不了对象。
- 构造方法的创建
- 如果没有定义构造方法,系统将给出一个默认的无参数构造方法
- 如果定义了构造方法,系统将不再提供默认的构造方法
public class Student {
public Student(){
System.out.println("sdfsdf");
}
}
public class Demo {
public static void main(String[] args) {
Student s = new Student();
System.out.println(s);
}
}
- 构造方法的重载
- 如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
public class Teacher {
private String name;
private String num;
public Teacher() {
}
public Teacher(String name, String num) {
this.name = name;
this.num = num;
}
}
- 推荐的使用方式
- 无论是否使用,都手工书写无参数构造方法
三、标准类制作
- 成员变量
使用private修饰 - 构造方法
提供一个无参构造方法
提供一个带多个参数的构造方法 - 成员方法
提供每一个成员变量对应的setXxx()/getXxx()
提供一个显示对象信息的show() - 创建对象并为其成员变量赋值的两种方式
无参构造方法创建对象后使用setXxx()赋值
使用带参构造方法直接创建带有属性值的对象
public class Teacher {
private String name;
private String num;
// 无参构造方法
public Teacher() {
}
// 全参构造方法
public Teacher(String name, String num) {
this.name = name;
this.num = num;
}
// name变量的set方法
public void setName(String name) {
this.name = name;
}
// name变量的get方法
public String getName() {
return name;
}
// num变量的set方法
public void setNum(String num) {
this.num = num;
}
// num变量的set方法
public String getNum() {
return num;
}
}