java构造方法怎么定义,java中如何构造方法
如何解决写爬虫IP受阻的问题?立即使用。
本教程运行环境:windows7系统,java8版本8,DELL G3电脑。
构造是类的一个特殊方法,用来初始化类的一个新对象,在对象(new运算符)创建后自动调用。Java中的每个类都有一个默认的构造函数,并且可以有多个构造函数。
Java构造方法有以下特点:
方法名必须与类名相同。
可以有0、1或多个参数。
没有返回值,包括void。
默认的返回类型是对象类型本身。
只能与new运算符结合使用。
值得注意的是,如果为构造函数定义了返回值类型或者用void声明构造函数没有返回值,那么编译时不会出现错误,但是Java会把这个所谓的构造函数当作正常的方法。
这时候人们可能会问,构造方法不是没有返回值吗?为什么不能用void声明?
简单来说,这就是Java的语法。事实上,类的构造函数有返回值。当用new关键字调用构造函数时,构造函数返回该类的一个实例,可以看作是构造函数的返回值。因此,构造函数的返回值类型始终是当前类,不需要定义返回值类型。但是,必须注意不要在构造函数中使用return来返回当前类的对象,因为构造函数的返回值是隐式的。
注意:构造函数不能被static、final、synchronized、abstract和native(类似于abstract)修改。方法是用来初始化一个新对象的,所以用static来修饰是没有意义的。方法不能被子类继承,所以用final和abstract修饰它们是没有意义的。多个线程不会同时用同一个内存地址创建同一个对象,所以没必要用synchronized来修饰。如果不能去掉static和final以外的关键字,我们会在教程后面详细解释。
构造方法的语法格式如下:
class class_name {
class _ name(){ }//默认的无参数构造方法
public class _ name([param list]){ }//定义构造方法
…
//类主体
}在一个类中,与类名相同的方法是构造方法。每个类可以有多个构造函数方法,但是它们需要包含不同的方法参数。
示例:
构造方法有两种:参数化构造法和参数化构造法。例子如下:
公共类MyClass {
私有int m;//定义私有变量
MyClass() {
//定义不带参数的构造方法
m=0;
}
MyClass(int m) {
//用参数定义构造方法
this.m=m
}
}本例定义了两种构造方法,即无参数构造方法和参数构造方法。在一个类中定义多个同名不同参数的方法就是方法的重载。这两个构造方法的名字和类名一样,都是MyClass。实例化该类时,可以调用不同的构造方法进行初始化。
注意:不需要定义类的构造方法。如果类中没有定义构造函数,Java会自动为该类生成一个默认的构造函数。的默认构造方法不包含任何参数,并且方法体为空。如果一个类中显式定义了一个或多个构造函数,Java不再提供默认的构造函数。
提示:无参数构造方法也称为空构造方法。只有编译器自动添加的构造函数才称为默认构造函数。如果你自己写的构造函数没有参数也没有内容,那就不叫默认构造函数(只是Nullary构造函数)。虽然只是名词定义,但是在认证考试中还是要区分两者的区别。
相关视频教程推荐:java视频教程以上是如何用Java编写构造方法的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。