一个类 被实例化 也就是被new的时候 最先执行的是 构造函数,如果你有留心。你会发现很多类里面根本没有写构造函数。
在java类中,如果不显示声明构造函数,JVM 会给该类一个默认的构造函数。一个类 可以有多个构造函数。构造函数的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。
比如一个实体类
public class entity{
private int id;
private String userName;
get…set..方法
}
如果这样写该类就是默认的构造函数。该类实例化的时候 id 和 username 就是默认值 即 id=0,username=null.
如果在里面加入这样一个方法
public entity(int id,String userName){
调用get..set..
}
如果这样写 该类实例化的时候 必须给出 id 和username参数。 JVM不会再给这个类默认构造函数
你也可以理解成 在没有给构造函数的时候 JVM 给你的类加了一个这样的函数
public entity(){
this.id=0;
this.userName=null;
}
其实构造函数是用来对一个类以及变量进行实例化。
构造方法,在new对象的时候就会自己调用,也是对象的初始方法,如果你自己不写构造方法默认的会自动加上一个无参的构造。如果不存在构造方法那也就创建不了类的实例。
public class Test {
private String name;
private String sex;
private String age;
public Test(){
super();
}
public Test(String name){
this.name=name;
}
public Test(String name,String sex){
this.name=name;
this.sex=sex;
}
public Test(String name,String sex,String age){
this.name=name;
this.sex=sex;
this.age=age;
}
}
上面写了一个简单的类,一共有四个构造方法,这样你就有四种方法构造类实例(对象)
new Test();
new Test(“张三”);
new Test(“张三”,”男”);
new Test(“张三”,”男”,”16”);
有了构造,也就相应提供了初始方法
为什么要构造无参构造函数
最新推荐文章于 2022-09-19 21:19:08 发布