构造器基础复习

旧时模样 提交于 2019-12-05 05:23:48

构造方法/构造器: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, "男");

    } 

}

运行结果:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!