1、构造方法
构造方法的概述
构造方法
是一种特殊的方法,主要是完成对象的创建
和对象数据的初始化
构造方法的定义
-
格式
// 空参构造方法 修饰符 类名(){ } // 有参构造方法 修饰符 类名(参数列表){ // 方法体 }
-
特点:
- 构造方法的写法上,方法名与它所在的
类名相同
- 构造方法
没有返回值
,所以不需要返回值类型,甚至不需要void
- 构造方法的写法上,方法名与它所在的
-
示例代码:
public class Student {
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private int age;
// 构造方法
public Student(){
System.out.println("空参方法");
}
public Student(String name,int age){
this.name = name;
this.age = age;
System.out.println("有参方法");
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
public class Test {
public static void main(String[] args) {
// 通过调用空参构造方法创建对象
Student stu1 = new Student();
System.out.println(stu1.getName()+","+stu1.getAge());// null,0
// 通过调用有参构造方法创建对象
Student stu2 = new Student("冰冰",18);
System.out.println(stu2.getName()+","+stu2.getAge());// 冰冰,18
}
}
小结
构造方法的概述
- 构造方法是一种特殊的方法,主要是完成对象的创建和对象属性的初始化
构造方法的定义
- 格式:
空参构造方法
修饰符 类名(){
}
有参构造方法
修饰符 类名(参数){
方法体(给属性赋值)
}
- 特点:
1.构造方法的方法名和类名一致
2.构造没有返回值,连void都没有
调用构造方法: 通过new来调用
2 、构造方法的注意事项
-
构造方法的创建
- 如果
没有定义构造方法
,系统将给出一个默认的无参数构造
方法 - 如果
定义了构造方法
,系统将不再提供默认的构造方法
- 如果
-
构造方法
可以重载
,既可以定义参数,也可以不定义参数。 -
示例代码
public class Student {
/**
* 姓名
*/
private String name;
/**
* age
*/
private int age;
// 空参构造方法
public Student(){
}
// 有参构造方法(满参构造方法)
public Student(String name,int age){
this.name = name;
this.age = age;
}
// 有参构造方法
public Student(String name){
this.name = name;
}
// 有参构造方法
public Student(int age){
this.age = age;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
public class Test {
public static void main(String[] args) {
//调用空参构造方法创建对象
Student stu1 = new Student();
// 通过有参构造方法创建对象
Student stu2 = new Student("冰冰",18);
System.out.println(stu2.getAge());// 18
// 通过set方法给属性赋值
stu2.setAge(19);
System.out.println(stu2.getAge());// 19
}
}
小结
构造方法的注意事项:
- 构造方法的创建
- 如果没有定义构造方法,系统将给出一个默认的无参数构造方法
- 如果定义了构造方法,系统将不再提供默认的构造方法
- 构造方法只能给属性赋值一次,不能重复赋值,可以由set方法给属性重复赋值
- 构造方法可以重载,既可以定义参数,也可以不定义参数。
- 定义构造方法的时候,不要写返回值,连void都不能有
- 定义构造方法的时候,构造方法名和类名一定要一致