JAVA 构造器
别名:构造器,构造方法,构造函数。
作用1:在创建对象的时候进行对象数据初始化,有参构造器可以实现对象传递参数(后面可以看有参构造器方便在哪里)。
特点1:构造器也是一种方法,只不过是一种特殊的方法,他会在对象被创建的时候被调用。
特点2:一个类可以有零个或多个构造器。(如果是零个构造器,如果没有构造器,编译器会自动为你提供无参构造器)(如果是多个构造器,会提供重载功能)
特点3:构造器不能被子类继承,JAVA中子类会自动调用父类的构造器。(调用子类对象构造器会自动显示调用父类的构造器,子类相当于父类的拓展)
构造器和普通方法的区别:
区别1:命名,构造器的方法必须和类名相同,一般方法要有返回值或者无返回值(使用void表示不返回数据)。
区别2:修饰符,构造器不能被static,final,synchronized,abstract,native修饰。
一、分类
1、无参构造器
示例代码:
public Power{
public int userId =1;
public int userClass = 1;
public String userName = "朝阳";
public Power{
System.out.println("创建对象时我被初始化了!")
}
public static void main(String[] args){
Power p1 = new Power();
System.out.println(p1.userId+"-"+p1.userClass+"-"+p1.userName);
}
}
示例执行结果:
创建对象时我被初始化了!
1-1-朝阳
2、有参构造器
示例代码:
public Power{
public int userId =1;
public int userClass = 1;
public String userName = "朝阳";
public Power(int userId,int userClass,String userName){
this.userId = userId;
this.userClass = userClass;
this.userName = userName;
}
//同一个类可以有多个构造器,在new对象的时候会显示多个不同的构造器,方便传递不同的参数
public Power(String userName){
this.userName = userName;
}
public static void main(String[] args){
Power p1 = new Power(2,2,"我是第一个构造器");
Power p2 = new Power("我是第二个构造器")
System.out.println(p1.userId+"-"+p1.userClass+"-"+p1.userName);
system.out.println(p2.userName);
}
}
示例执行结果:
2-2-我是第一个构造器
我是第二个构造器
引用:
1、编译器:编译器可以是任何一个能将一个文本翻译为另一个文本的程序。
2、重载:重载,从简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者重载方法。就是省了给method重新命名了,差不多的都用一个,只是参数是不同类型的。