java构造函数初始化的问题

最近正在自学java,在学到java构造器的时候,写到这样一段代码!不是构造函数对参数进行初始化了吗?那输出的age的值应该是10啊!为什么还会出现两个0!新手不太明白!... 最近正在自学java,在学到java构造器的时候,写到这样一段代码!

不是构造函数对参数进行初始化了吗?那输出的age的值应该是10啊!为什么还会出现两个0!新手不太明白!请高手帮忙解答一下!谢谢!
展开
 我来答
隔壁老王823
2018-04-14
知道答主
回答量:5
采纳率:0%
帮助的人:4190
引用你好邱林和的回答:
1.首先明白构造函数的定义,如下:
java 构造函数
一般我们讲的“函数”就是“方法”;构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点。(1)构造方法的方法名必须与类名相同。(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。(5)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
2.请注意这句话:(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。也就是上面你的构造函数根本就没有传递参数给它,也就是说你在构造函数声明的int age=10,只是相当于函数里的一个变量,超出这个函数就失去作用了,也就是说为默认的int值为0.
3.如果是要初始化成员变量,最好还是构造有参。
知识水平有限,望请采纳!!!呵呵!!!
展开全部
不要误导别人可以吗,楼下的才是正解,你的成员变量和局部变量都没搞清楚,还有你把this.age和age的区别搞懂了再来回答可好?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
24k君临
2018-03-21
知道答主
回答量:2
采纳率:0%
帮助的人:1340
展开全部

这样才是在构造函数里初始化成员变量的做法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4d4a757
2019-06-09
知道答主
回答量:1
采纳率:0%
帮助的人:719
展开全部
类变量和局部变量你没有分清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式