- Java中的每个类都有构造方法,他是类的一种特殊方法,用来初始化类的一个新的对象。他必须具有和类名相同的名称,而且没有返回类型,void也不行,它的默认返回类型就是对象类型本身;一般的方法有返回类型,方法名小写,不能和类名相同;其实构造函数是用来对一个类以及变量进行实例化
- 构造方法用于初始化一个新的对象,所以用static修饰没有意义;构造方法不能被继承,所以用final和abstract修饰无意义;多个线程不会同时创建内存地址相同的同一个对象,所以用synchronize修饰无意义。
- 一个类被实例化 也就是被new的时候 最先执行的是 构造方法,在java类中,如果不显示声明构造函数,JVM 会给该类一个默认的构造函数。一个类 可以有多个构造函数。构造函数的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。
- 构造方法是初始化对象的重要途径,所以就算你给一个类没有定义构造方法,方法在这个类的加载得时候,会自动提供一个没有参数的构造方法。所以,常见得 Student s=new Student();那么,s这个实例,是通过构造方法初始化的;而普通方法不行。
- 一个类在初始化的时候,例如People是Student的父类,有构造方法 public PeoPle(){}那么,当实例化Student p=new Student()得时候,父类的构造方法会隐式执行(你可自己敲代码尝试,父类构造方法中写个输出语句:例如System.out.println("父类构造方法"))。你会发现,没有调用任何父类,也没有实例化父类,但是构造方法却执行了。
- 方法仅仅是类成员,构造方法也是类成员,但是,构造方法有对类属性得初始化的功能。所以,常见到 public PeoPle(String name){this.name=name}或者 public PeoPle(){name="wangsan",age=14},完成了对People类属性name或者age的初始化。
转载于:https://www.cnblogs.com/tjlgdx/p/5999417.html