本文主要是介绍深入构造器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
构造器用于创建类的实例,其最大的用处是创建对象时执行初始化。当创建一个对象时,系统为这个对象的属性进行默认初始化,把所有基本类型的属性设为0(对数值型属性)或false(对布尔型属性),把所有引用类型的属性设置为null。
注意:如果程序员没有为Java类提供任何构造器,系统会为这个类提供一个无参数的构造器,这个构造器的执行体为空,不做任何事。无论如何,Java类至少包含一个构造器。如果需要多个初始化过程,就需要提供多个构造器,也就形成了构造器重载。
例子:
public class ConstructorOverload
{public String name;public int count;//提供无参数的构造器public ConstructorOverload(){}//提供带两个参数的构造器,对该构造器返回的Java对象执行初始化public ConstructorOverload(String name,int count){this.name=name;this.count=count;}public static void main(String[] args){//通过无参数构造器创建ConstructorOverload对象ConstructorOverload oc1=new ConstructorOverload();//通过有参数构造器创建ConstructorOverload对象ConstructorOverload oc2=new ConstructorOverload("轻量级J2EE企业应用实战",18000);System.out.println(oc1.name+" "+oc1.count);System.out.println(oc2.name+" "+oc2.count);}
}
如果系统中包含多个构造器,其中一个构造器执行体里完全包含另一个构造器的执行体。则可以使用this关键字来调用相应构造器。
例子:
public class Apple
{public String name;public String color;public double weight;public Apple(){}//两个参数的构造器public Apple(String name, String color){this.name=name;this.color=color;}//三个参数的构造器public Apple(String name, String color, double weight){//通过this调用另一个重载的构造器的初始化代码this(name,color);this.weight=weight;}
}
注意:使用this调用另一个重载的构造器只能在构造器中使用,而且必须作为构造器执行体的第一条语句。
摘自李刚《疯狂Java讲义》
这篇关于深入构造器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!