Java构造函数
构造函数 ,是一种特殊的方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。
Java构造函数总与new运算符一起使用在创建对象的语句中,特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。
构造函数的作用
构造方法主要用来创建类的实例化对象,可以完成创建实例化对象的初始化工作。
构造方法的特点
- 构造方法名称必须与类名一致
- 构造方法不具有任何返回值典型,即没有返回值,关键字 void 也不能加入,加入后就不是构造方法了,就成了普进的方法了
- 任何类都有构造方法,如果没有显示的定义,则系统会为该类定义一个默认的构造器,这个构造器不含任何参数。如果显示的定义了构造器,系统就不会创建默认的不含参数的构造器了。
构造方法语法
声明格式:构造方法修饰词列表 类名(方法参数列表)
构造方法修饰词列表:public、protected、private
[修饰符列表] 构造方法名(形式参数列表) {
构造方法体;
}
有两种类型的构造函数:
- 默认构造函数(无参数构造函数)
- 参数化构造函数
注意事项
对于构造方法来说,构造方法的方法名必须和类名保持一致。
Java构造函数初始过程
Java中的构造函数作用完成对象的初始化工作,总结如下:
1.类中如果没有声明构造函数,编译器会创建一个公共无参的默认构造函数。
2.构造函数的名称必须与类名相同,大小写敏感,无返回值不能用关键字void修饰。
3.类中可以创建多个构造函数,构造函数可以是无参、有参、public、private、protected或无修饰符。
构造函数代码示例
//手动编写构造函数 public class student{ private int age; private String name; //无参构造函数 public student(){} //全参构造函数 public student(int age, String name){ this.age = age; this.name = name; } //部分参数构造函数 public student(String name){ this.name = name; } } //Spring 注解形式构造函数 //全参构造函数 一个包含过所有字段的构造方法 @AllArgsConstructor //无参构造函数 @NoArgsConstructor //会将类的每一个final字段或者non-null字段生成一个构造方法,生成的构造方法是private,如何想要对外提供使用可以使用staticName选项生成一个static方法。 @RequiredArgsConstructor(staticName = "hangge") public class Student{ private int x; private fianl double score; @NonNull private String name; } //注解RequiredArgsConstructor指定的static方法构造函数 public static Shape hangge(double y, String name){ return new Student(y, name); }
mikechen睿哥
mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》