措施的简单意思,什么叫做JAVA的构造方法(含义)?
答案:1 悬赏:50 手机版
解决时间 2021-05-23 06:10
- 提问者网友:泪痣哥哥
- 2021-05-22 09:37
措施的简单意思,什么叫做JAVA的构造方法(含义)?
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-05-22 10:20
在Java中,每个类都需要至少一个的构造方法(可以有多个),它用于构造类的对象;在Java中构造方法必须与类名相同;构造方法可以不带有参数、也可以带有参数,不带有参数的构造方法被称为无参构造(no-arg)方法。
这里大家可能会觉得奇怪,我们之前的MainClass好像就没有构造方法。其实是这样的,如果我们不给类提供构造方法,编译器会自动提供一个无参构造方法。
定义构造方法的语法如下:
Java代码
constructorName (listOfArguments) {
[constructor body]
}
其中constructorName必须和你定义的类的名字相同,listOfArgumengs是构造方法的参数列表,当然,这里也可以不带有任何参数。然后大括号内是我们的方法体。这里提一下,构造方法也可以带有访问控制符,即public、protected、private和default(忽略情况下)。
下面的例子给出了一个构造方法的实例:
Java代码
public class MainClass {
double radius;// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}
}
可以看出,我们给MainClass定义了一个构造方法,它的修饰符是默认的。后面的教程大家会学到这几个访问控制符的作用。我们的MainClass的构造方法带有一个double参数,这里大家也可以看出,构造方法的参数可以用于初始化类的属性,其实强制要求带参数的构造方法可以保持类的状态的完整性,即保证构造出的对象是符合要求的。
默认构造方法
前面我讲过,如果没有提供构造方法,编译器会提供一个默认的构造方法(没有参数)。这里其实也隐含着一个意思,即,如果我们提供了构造方法,那么编译器是不会提供默认的构造方法的。我们可以通过下面的代码来验证。
Java代码
public class MainClass {
double radius;// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}public static void main(String[] args) {
MainClass mc = new MainClass();
}
}
大家可以尝试编译上面的代码,可以发现编译会出错,提示的错误信息为:
Java代码
The constructor MainClass() is undefined
这个信息的意思是构造方法MainClass()没有定义,即编译器没有给我们提供默认的构造方法。那么如果我们还想继续使用无参的构造方法的话,这就需要我们自己来提供了,如:
Java代码
public class MainClass {
double radius;MainClass() {}// Class constructor
MainClass......余下全文>>
这里大家可能会觉得奇怪,我们之前的MainClass好像就没有构造方法。其实是这样的,如果我们不给类提供构造方法,编译器会自动提供一个无参构造方法。
定义构造方法的语法如下:
Java代码
constructorName (listOfArguments) {
[constructor body]
}
其中constructorName必须和你定义的类的名字相同,listOfArgumengs是构造方法的参数列表,当然,这里也可以不带有任何参数。然后大括号内是我们的方法体。这里提一下,构造方法也可以带有访问控制符,即public、protected、private和default(忽略情况下)。
下面的例子给出了一个构造方法的实例:
Java代码
public class MainClass {
double radius;// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}
}
可以看出,我们给MainClass定义了一个构造方法,它的修饰符是默认的。后面的教程大家会学到这几个访问控制符的作用。我们的MainClass的构造方法带有一个double参数,这里大家也可以看出,构造方法的参数可以用于初始化类的属性,其实强制要求带参数的构造方法可以保持类的状态的完整性,即保证构造出的对象是符合要求的。
默认构造方法
前面我讲过,如果没有提供构造方法,编译器会提供一个默认的构造方法(没有参数)。这里其实也隐含着一个意思,即,如果我们提供了构造方法,那么编译器是不会提供默认的构造方法的。我们可以通过下面的代码来验证。
Java代码
public class MainClass {
double radius;// Class constructor
MainClass(double theRadius) {
radius = theRadius;
}public static void main(String[] args) {
MainClass mc = new MainClass();
}
}
大家可以尝试编译上面的代码,可以发现编译会出错,提示的错误信息为:
Java代码
The constructor MainClass() is undefined
这个信息的意思是构造方法MainClass()没有定义,即编译器没有给我们提供默认的构造方法。那么如果我们还想继续使用无参的构造方法的话,这就需要我们自己来提供了,如:
Java代码
public class MainClass {
double radius;MainClass() {}// Class constructor
MainClass......余下全文>>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯