构造方法
是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
- 格式:
- public 类名称(参数类型 参数名称){ 方法体 }
- 注意:
- 1、构造方法名词必须和所在类完全一样
- 2、构造方法不写返回值类型,连void都不要
- 3、构造方法不能return一个具体的返回值,不能产生返回值
- 4、如果没有编写任何构造方法,编译器将会默认赠送一个构造方法,没有参数、没有方法体,什么事都不做。如: public Student(){ }
- 5、一旦编写了至少一个构造方法,那么编译器将不再赠送。
- 6、构造方法也是可以进行重载的。 重载:方法名相同,参数列表不同。
示例:
public class Student {
private String name;
private int age;
//无参构造方法
public Student() {
System.out.println("默认无参构造方法执行");
}
//全参构造方法
public Student(String name, int age) {
System.out.println("全参构造方法执行");
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Demo02Student {
public static void main(String[] args) {
Student stu1 = new Student();
System.out.println("===============");
Student stu2 = new Student("夏利", 18);
System.out.println("姓名:" + stu2.getName() + " 年龄 :" + stu2.getAge());
//如果需要改变对象当中的成员变量数据内容,仍然需要使用setter方法,setter此时不可省略
stu2.setAge(90);//改变年龄
System.out.println("姓名:" + stu2.getName() + " 年龄 :" + stu2.getAge());
}
}
运行结果:
默认无参构造方法执行
===============
全参构造方法执行
姓名:夏利 年龄 :18
姓名:夏利 年龄 :90