永发信息网

措施的简单意思,什么叫做JAVA的构造方法(含义)?

答案:1  悬赏:50  手机版
解决时间 2021-05-23 06:10
措施的简单意思,什么叫做JAVA的构造方法(含义)?
最佳答案
在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......余下全文>>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我DNFG都没开成功号就被封了啊?
韩剧里说的敬语是什么意思?
白羊座本年运势
青云鸿运沙发厂怎么去啊,有知道地址的么
QQ被人更改被人改了密保问题。找回来了,但是
哪位邀请我开通一下微博
关声音是哪个键?
雪萤字成语
我是油性和爱长粉刺敏感皮肤用什么美容套组好
手机上的家园在电脑上哪里啊?
英语翻译What’s worse,Buzz is damaged duri
乔丹的生日是多少啊
S305/南白路(路口)在什么地方啊,我要过去处
关于表情的句子段落,描写人物委屈时面部表情
冒险岛突然变的很卡
推荐资讯
从上海汽车南站怎么去世博4号门
苏舜钦的《夏意》一诗中除了写小院幽静之外,
天涯明月刀缉拿在哪接,天涯明月刀押镖海河洲
急求黄裳的《水龙吟》的原文、翻译和赏析
这两种发型叫什么,应该怎么说,头发需要多少
天气冷了,说说今天早上你在床上挣扎多久才起
快“七夕”了、我和我女友不在同一个城市、我
为什么GRE只发放2013年1 月和3月考位?四月之
什么是从()不()的四字成语 破产啦
付出,就一定有所收获吗?
二个男孩的组合叫什么,低调组合名字多少分
你有放开我北鼻第一季第二季百度云资源吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?