一、什么是构造函数
1、构造函数没有返回值
2、构造函数的函数名必须与类名相同
3、一个类中可以有多个构造函数
4、构造函数不是我们手动调用的,而是在创建对应的对象时,jvm就会主动调用到对应的构造函数
5、如果一个类没有显式的写上一个构造方法时,那么java编译器会为该类添加一个无参的构造函数
6、如果一个类已经显示的写上一个构造翻翻时,那么java编译器就不会为该类添加一个无参构造函数
没有显式和显式的构造方法举例:
public class GouZaoHanShu {
public static void main(String[] args) {
Baby baby=new Baby(1, "小孩1号");
System.out.println(baby.age+ baby.name );
baby.cry();
Baby baby2=new Baby();
baby2.age=2;
baby2.name="小孩2号";
System.out.println(baby2.age+baby2.name);
baby2.cry();
}
}
class Baby{
int age;
String name;
public Baby(){
System.out.println("baby无参构造函数被调用。。。也就是没有显式方法");
}
public Baby(int a,String n){
age=a;
name =n;
System.out.println("baby属性初始化完毕。。。也就是显式方法");
}
public void cry() {
System.out.println("she is cry");
}
}
二、构造函数与普通函数的区别
1、返回值区别
1、构造函数是没有返回值的;
2、普通函数是由返回值的,即使有返回值,返回值类型类型也要写上void。
2、函数名的区别
1、构造函数的函数名必须与类名一致;
2、普通函数的函数名只要符合标识符的命名规则即可。(标识符命名规则:美元符、英语、_(下划线),不可以用数字开头,不能用java关键字)
3、调用方式区别:
1、构造函数是在创建对象的时候由jvm调用;
2、普通函数是由我们使用的对象调用的,一个对象可以调用多次普通函数
4、作用上的区别:
1、构造函数是用于初始化对象;
2、普通函数是用于描述一类事务的公共行为的。