Java构造函数详解(构造方法)

Java构造函数详解(构造方法)-mikechen

Java构造函数

构造函数 ,是一种特殊的方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。

Java构造函数总与new运算符一起使用在创建对象的语句中,特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

 

构造函数的作用

构造方法主要用来创建类的实例化对象,可以完成创建实例化对象的初始化工作。

 

构造方法的特点

  • 构造方法名称必须与类名一致
  • 构造方法不具有任何返回值典型,即没有返回值,关键字 void 也不能加入,加入后就不是构造方法了,就成了普进的方法了
  • 任何类都有构造方法,如果没有显示的定义,则系统会为该类定义一个默认的构造器,这个构造器不含任何参数。如果显示的定义了构造器,系统就不会创建默认的不含参数的构造器了。

 

构造方法语法

声明格式:构造方法修饰词列表 类名(方法参数列表)

构造方法修饰词列表:publicprotectedprivate

[修饰符列表] 构造方法名(形式参数列表) {
    构造方法体;
}

有两种类型的构造函数:

  • 默认构造函数(无参数构造函数)
  • 参数化构造函数

注意事项

对于构造方法来说,构造方法的方法名必须和类名保持一致

 

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,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法