格式:修饰符 类名(参数签名){}
- 1.构造方法名称必须和类名相同,包括大小写,构造器没有返回值,但也不能写void,不能写return
- 2.用new调用,且对象一旦建立,构造方法就运行且只运行一次
- 3.类一定有构造器,就算是自己没声明构造器,java编译器也会自动插入一个默认的无参构造器,默认构造器是看不到的,但是如果自己声明构造器了,java就不会给你插入了。所以说,如果只声明了一个有参的构造器,如果调用这个对象的无参构造方法,就会报错的。
- 4.构造器是可以重载的,一个类中可以声明多的构造器,而且方法名都相同,就像树苗和大树,都是树。
- 5.构造器是不可以继承的,子类继承父类,所以子类构造器默认调用父类的无参构造器,子类构造器是一定要调用父类的构造器的。子类会默认有一个super()来进行调用,而且一定必须得在第一行。如果父类没有无参构造器,则必须使用super(参数)来调用父类的有参构造器。所以为什么子类一定要调用父类的构造器,因为父类的数据可以直接获取。
构造方法的作用:
- 1.为了初始化成员属性,而不是初始化对象,初始化对象是通过new关键字实现的
- 2.通过new调用构造方法初始化对象,编译时根据参数签名来检查构造函数,称为静态联编和编译多态(参数签名:参数的类型,参数个数和参数顺序)
- 3.创建子类对象会调用父类构造方法但不会创建父类对象,只是调用父类构造方法初始化父类成员属性。
网友评论