构造方法:类的成员之一。 1.作用:只有一个,用于构造当前类的对象 2.写法:修饰符 与类名一致的方法名(参数列表) {创建当前类对象;返回的对象} 3.特点: 1.每一个类都有构造方法,若自己在类中没有定义,则系统会默认提供一个无参数的构造方法,若在类中定义了构造方法,则这个默认的无参数构造方法会被覆盖。 2.构造方法存在方法重载 4.使用场景 在面向对象-属性中,我们可以发现给属性赋值时,是发生在创建对象后(对象.属性) 在构造方法中,我们可以通过有参数的构造方法,在对象创建时给属性赋值,即当我们需要在创建对象时,给属性赋值时,可以使用有参数的构造方法。 5.this的使用 this是一个指代关键字,指代的是当前调用属性、方法时的那个对象 this在调用构造方法和一般方法时,构造方法要早于一般方法 不能在一般方法里面调用构造方法,但可以在一个构造方法内调用另一个构造方法(格式:this()),但是只能放在程序的第一行(必须)。 6.程序块 类的成员之一。 是一个无修饰符,无参数,无返回值,无方法名的函数 执行:在调用构造方法之前,系统会自动的调用一次程序块 程序块没有重载,但可以在程序中多次定义 7.使用(见代码)

    1. public class Person {
    2. public String name;
    3. // 普通方法
    4. public void study(){
    5. System.out.println("要学习");
    6. }
    7. // 构造方法
    8. public Person() {}
    9. // 构造方法的方法重载
    10. public Person(String name){
    11. this.name = name;
    12. }
    13. // 块的写法
    14. {
    15. System.out.println("我是程序块");
    16. }
    17. }
    1. public class test {
    2. public static void main(String[] args) {
    3. // 通过无参数的构造方法给对象赋值
    4. Person p1 = new Person();
    5. p1.name = "我是通过无参数的构造方法创建的人名:萌新";
    6. System.out.println(p1.name);
    7. // 通过有参数的构造方法给对象赋值
    8. Person p2 = new Person("萌新");
    9. System.out.println("我是通过有参数的构造方法创建的人名:"+ p2.name);
    10. }
    11. }
    1. 我是程序块
    2. 我是通过无参数的构造方法创建的人名:萌新
    3. 我是程序块
    4. 我是通过有参数的构造方法创建的人名:萌新