Java>面向对象和封装>>构造方法的使用
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式:
public 类名称(参数类型 参数名称){
方法体
}
注意事项:
1. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2. 构造方法不要写返回值,连void都不用写
3. 构造方法不能return一个具体的返回值
4. 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做
public Student(){}
5. 一旦编写了至少一个构造方法,那么编译器将不再赠送
6. 构造方法也是可以进行重载的
重载:方法名称相同,参数列表不同
下面来让我们看一个构造方法的例子
先构造一个方法Student类:
使用student类
格式:
public 类名称(参数类型 参数名称){
方法体
}
注意事项:
1. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2. 构造方法不要写返回值,连void都不用写
3. 构造方法不能return一个具体的返回值
4. 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做
public Student(){}
5. 一旦编写了至少一个构造方法,那么编译器将不再赠送
6. 构造方法也是可以进行重载的
重载:方法名称相同,参数列表不同
下面来让我们看一个构造方法的例子
先构造一个方法Student类:
package gouzao; 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; } //Getter Setter 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; } }
package gouzao; public class Demo01Student { public static void main(String[] args) { Student stu1 = new Student(); //无参构造 System.out.println("================================"); Student stu2 = new Student("修仙者",20); //全参构造 System.out.println("姓名:" + stu2.getName() + ", 年龄:" + stu2.getAge()); System.out.println("================================"); //如果需要改变对象当中的成员变量,仍然还需使用setXxx方法 stu2.setAge(21); //改变年龄 System.out.println("姓名:" + stu2.getName() + ", 年龄:" + stu2.getAge()); } }
无参构造方法执行啦!
================================
全参构造方法执行啦!
姓名:修仙者, 年龄:20
================================
姓名:修仙者, 年龄:21