对象的创建是“new 类名()”。其中,“类名()”从表面上看是一个方法,而且是一个无参方法。其中,“类名”是方法名,这个方法有个名字叫“构造方法”。构造方法是特殊的方法,它特殊在什么地方呢?
(1)每个类中都会有构造方法。代码如下:
上述代码的运行结果如下:
第3行使用类Constructer Test创建了对象constructer Test。在创建对象的时候,使用了Constructer Test()方法,但我们发现类体中并没有Constructer Test方法。这就是构造方法的第一个特点:Java中的每个类要想运行,都要有构造方法,前面我们写过的程序都没有手动添加构造方法,因为在执行过程中,程序会自动添加一个不带参数的,且方法体为空的构造方法。
第3行代码调用了构造方法,但由于Java默认提供的构造方法的方法体为空,故程序没有任何输出结果。但是,当我们手动添加了构造方法之后,程序就不会再提供默认的构造方法了。代码如下:
上述代码的运行结果如下:(www.xing528.com)
第2~4行,手动添加了构造方法,此时Java就不再提供无参数方法体为空的构造方法了。第6行调用构造方法时,调用的就是程序员手动添加的构造方法。
(2)构造方法的方法名必须和类名一致,包括大小写规则.如Constructer Test类中第3行代码中的Constructer Test(),该构造方法与类同名。再如,Constructer Test1类中的第2行代码,构造方法的声明部分中,构造方法的方法名Constructer Test1与类名完全相同。
(3)构造方法只能由new 运算符调用,如Constructer Test类中的第3行语句,通过new关键字来调用构造方法,创建对象。
(4)构造方法的作用就是用来创建对象的,也就是说构造方法只有在创建对象的时候才会被调用。
(5)构造方法前面可以带有访问权限修饰符,如public、private。有关访问权限修饰符的内容会在后面小节中讲到。但是不允许有方法的返回值类型,也不能有空返回值数据类型void,所以构造方法内部严禁使用return关键字。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。