Java——构造方法
一、定义
构建、创造对象的时候,自动调用的方法。
二、作用
创建对象,并给对象的数据(属性)进行初始化。
三、格式
public 类名(可传入参数值){
对类中的属性初始化;
}
四、注意点
1.方法名和类名相同,大小写也要一致。
2.没有void。
3.没有具体的返回值(不能由retrun带回结果数据)
4.创建对象的时候调用,每创建一次对象,就会执行一次构造方法
5.不能手动调用构造方法(系统会自动调用)
6.构造方法与其他方法的区别:
①构造方法:与类同名且无返回类型的特殊方法,在对象创建时自动调用,为对象的成员变量赋初始值,确保对象在创建后即处于有效状态。
②其它方法:是类中定义的常规方法,用于实现对象的具体行为或功能。
7.如果一个类中没有编写任何构造方法,系统将会提供默认的无参数构造方法;如果手动编写了构造方法,系统就不会提供默认的无参数构造方法了。
8.构造方法的重载:如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法。
public class TestPhone {private int age;private String name;
// 定义一个默认的构造方法public TestPhone(){}
// 定义一个自定义的构造方法public TestPhone(String name,int age){this.name=name;this.age=age;System.out.println("我是TestPhone类的构造方法。");}public void show(){System.out.println("使用了普通的方法");}
}
public class Text1 {public static void main(String[] args) {
// 创建一个自定义构造方法的类TestPhone t1=new TestPhone("老六",22);
// 创建一个默认的构造方法的类TestPhone t2=new TestPhone();t1.show();t2.show();}
}
//结果
//我是TestPhone类的构造方法。
//使用了普通的方法
//使用了普通的方法
五、举例
public class TestPhone {private int age;private String name;
// 定义一个默认的构造方法public TestPhone(){}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public String getName() {System.out.println("使用无参构造方法创建对象后使用set()与get()方法。");return name;}// 定义一个自定义的构造方法public TestPhone(String name,int age){this.name=name;this.age=age;System.out.println("使用带参构造方法直接创建带有属性值的对象。");}public void show(){System.out.println(name+age+"岁了。");}
}
public class Text1 {public static void main(String[] args) {TestPhone t1=new TestPhone();t1.setName("张三");t1.setAge(28);t1.getName();t1.getAge();t1.show();TestPhone t2 = new TestPhone("老六",30);t2.show();}
}
六、快捷键
1.编写默认的无参构造方法
①代码空白区域右键②点击Generate...(生成)③选择Constructor(构造方法)④点击Select None(无选择)
2.编写有参构造方法
①代码空白区域右键②点击Generate...(生成)③选择Constructor(构造方法)④ctrl+A(全选)⑤点击ok
3.编写所有属性的set()get()方法
①代码空白区域右键②点击Generate...(生成)③选择Getter and Setter④ctrl+A(全选)⑤点击ok