一、构造器是什么?有什么作用?
构造器是一个创建对象时被自动调用的特殊方法,为的是初始化。
构造器的作用:实例化对象,给对象赋初始值;
二、注意事项
构造器的注意事项:
1.构造器的名称必须和类名一致;
例子:
public class K{
private String name;
//构造器的名称必须和类名一致
//默认的构造器没有参数,方法为空,修饰符为public
public K(){};//一般没有自定义构造器的时候,系统会默认给定这个构造器,该构造器没有参数。一旦有自定义的构造器,该默认的构造器会被收回,相当于没有了。
public K(String name1){//自定义构造器,带有参数。
this.name = name1;
};
}
2.一个类中可以定义多个构造器,但是构造器的参数列表必须不同;
3.java语言中规定每个类至少要有一个构造方法,为了保证这一点,当用户没有给java类定义明确的构造方法的时候,java为我们提供了一个默认的构造方法,这个构造方法没有参数,修饰符是public并且方法体为空。。一旦我们定了构造器,则系统会把构造器收回;
4.构造器的作用:实例化对象,给对象赋初始值;
5.代码游离块优先执行。比如对象中有静态代码块(static代码块),优先执行代码块中的内容。
6.构造器的修饰符比较的有限,仅仅只有public private protected这三个
7.如果类继承了父类,必须使用super调用父类构造器,super的语句必须是子类构造器的第一条语句。
public class Manager extends Employee {
private String department;
public Manager(String name, double salary, String dept)
{
super(name, salary);
department = dept;
}
public Manager(String n, String dept) {
super(name);
department = dept;
}
public Manager(String dept) {
// 这里就没有super(),编译器会自动地添加一个空参数的缺省super构造器,此时如果Employee类中没有空参数的缺省构造器,那就会导致一个编译错误
department = d;
}
}
8.构造器是创建JAVA对象的重要途径,通过new关键字来调用构造器。