构造方法概述
构造方法是一种特殊的方法
作用:创建对象
格式:
public class 类名{
修饰符 类名(参数){
}
}
public class Student{
public Student(){
//构造方法内书写的内容
}
}
功能:主要是完成对象数据的初始化
测试代码:
/*
学生类
*/
public class Student {
//成员变量
private String name;
private int age;
//构造方法
public Student(){
System.out.println("无参构造方法");
}
//get和set
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 void show(){
System.out.println(name+"!"+age);
}
}
public class StudentDemo {
public static void main(String[] args) {
//创建对象
Student s = new Student();
s.setName("陆璃");
s.setAge(18);
s.show();
System.out.println(s.getAge()+"---"+ s.getName());
}
}
运行结果:
构造方法注意事项
构造方法的创建
- 如果没有定义构造方法,系统将给出一个默认的无参构造方法
- 如果定义了构造方法,系统将不再剔红默认的构造方法
构造方法重载
- 如果定义了带参数的构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
推荐的使用方式
- 无论是否适用,都手工写出无参数的构造方法
代码测试:
/*
学生类
*/
public class Student {
//成员变量
private String name;
private int age;
//构造方法
public Student(String name){
System.out.println("有参构造方法");
this.name=name;
}
public Student(){
System.out.println("无参构造方法");
}
//get和set
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 void show(){
System.out.println(name+"!"+age);
}
}
/*
学生测试类
*/
public class StudentDemo {
public static void main(String[] args) {
//创建对象
Student s = new Student();
s.setName("陆璃");
s.setAge(18);
s.show();
Student s1 = new Student("wdnmd");
s1.setAge(19);
s1.show();
}
}
标准类制作
成员变量
- 使用private修饰
构造方法
- 提供一个无参构造方法
- 提供一个带多个参数的构造方法
成员方法
- 提供每一个成员变量的getter和setter
- 提供一个显示对象信息的show()
创建对象并为其成员变量赋值的两种方式
- 无参构造方法创建对象后使用setter赋值
- 使用带参数构造方法直接创建带有属性值的对象