概述
1 前言
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。在 Java 中,任何变量在被使用前都必须先设置初值,构造方法就是专门为类的成员变量赋初值的方法。
2 特殊性
构造方法是一种特殊的成员方法,它的特殊性主要反映在如下几个方面:
- 构造方法的作用主要有两个,分别为构造出来一个类的实例和对构造出来的类的实例(对象)进行初始化;
- 构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连 void 也没有;
- 主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用 new 操作完成的;
- 类中必定有构造方法,若不写,系统自动添加无参构造方法;
- 接口不允许被实例化,因此接口中没有构造方法;
- 不能被
static
、final
、synchronized
、abstract
和native
修饰; - 构造方法在初始化对象时自动执行,一般不能显式地直接调用;
- 当同一个类存在多个构造方法时,java 编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动的一一对应,完成构造函数的调用;
- 构造方法分为两种,分别为无参的构造方法和有参的构造方法;
- 构造方法可以被重载,没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。
此外,咱们在介绍一下构造代码块,其作用也是给对象进行初始化,对象一建立就执行,而且优先于构造函数执行。构造代码块和构造函数的区别在于构造代码块是给所有不同对象的共性进行统一初始化,构造函数则是给对应的对象进行初始化。
3 代码示例
第一步:创建一个 Method 类
/**
* @author Charies Guo
* @create 2017-07-26
*/
public class Method {
public Method(){
System.out.println("您调用了无参的构造函数!");
}
public Method(String mess){
System.out.println("您调用了有参的构造函数," + "参数内容为:" + mess);
}
}
第二步:创建一个 TestMethod 类
/**
* @author Charies Guo
* @create 2017-07-26
*/
public class TestMethod {
public static void main(String[] args) {
//调用无参的构造函数
Method method_1 = new Method();
//调用有参的构造函数
Method method_2 = new Method("Hello World!");
}
}
运行程序后,结果如下图所示:
4 总结
构造方法是一个与类同名的方法,对象的创建就是通过构造方法来完成的,构造方法有两个特点:一是没有返回值;二是与类同名。如果在类中没有定义任何(无参或者有参)构造方法时,编译器会在该类中自动创建一个无参的构造方法,也就是我们常说的默认构造方法。
此外,还有一点需要特别注意:如果类中定义了构造方法且都不是无参的,那么编译器也不会自动创建无参的构造方法,而是根据参数个数和类型,按顺序进行匹配,直到找到对应的构造方法;当我们调用了无参的构造方法实例化对象时,编译器就会报错啦,因为现在全是有参的构造方法,没有无参的构造方法。
最后
以上就是体贴裙子为你收集整理的关于构造方法的那些事儿的全部内容,希望文章能够帮你解决关于构造方法的那些事儿所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复