构造器基础复习

构造方法/构造器:constructor

      通过new关键字调用,从而返回该类的实例;

      系统编译器会自动定义一个无参构造函数,若已经定义了构造器则系统不会自动添加;

      构造方法没有返回值,但是权限修饰符可以写;

      私有的构造方法不能用来实例化对象

      构造方法的方法名必须和类名一致,因此构造方法不能被重写、但能被重载

      构造方法的作用:用来初始化对象;

      构造方法与普通方法的区别

  1. 普通方法用于定义对象应该具备哪些功能;构造方法是定义当对象建立时,调用别的功能之前,应该具备的一些内容,即对对象初始化;
  2. 普通方法是对象建立后,当对象调用该功能时才会执行;构造函数是在对象建立时由JVM自动调用,给对象初始化;
  3. 普通函数可以多次调用;构造方法就在创建对象时调用;
  4. 普通方法只要符合标识符的命名规则即可;构造方法的方法名必须和类名一致;
  5. 构造方法没有返回值;

构造代码块:

      作用:给所有对象进行统一的初始化——将所有构造方法中的公共信息进行抽取,组成构造代码块;对象一建立就运行并且优先于构造函数;

      与构造函数的区别:构造代码块是给所有对象进行统一初始化,构造函数给对应的对象初始化;

代码实例

class Boy { 

    String name; 

    int age; 

    String gender;

   
    // 构造代码块——给所有对象进行初始化
    {  
        System.out.println("每个人都应该都会哭。。。"); 
    } 

    Boy() { 

        System.out.println("无参构造"); 

    } 

    Boy(String n, int a, String g) { 

        name = n; 

        age = a; 

        gender = g; 

        System.out.println("有参构造"); 

    } 

    void run() { 

        System.out.println("跑..."); 

    } 

} 

public class Person { 

    public static void main(String[] args) { 

        Boy b = new Boy();

        b.run();

        Boy b2 = new Boy("jack", 1, "男");

    } 

}

运行结果:

猜你喜欢

转载自www.cnblogs.com/panweiwei/p/11909191.html