求大神帮我分析一下这个程序

求大神帮我分析一下这个程序尤其是(String name)这个参数name没有付值怎么把它的值赋给成员变name呢?

该程序里的getName方法调用了该类里的setName方法,将‘Java’ 赋给字符串变量name追问

你说的这个字符串name是成员变量name

那第二个方法setName(String name)括号里的name应该是个局部变量吧,这个程序里面没给它付值怎么能把它的值付给this.name呢!

我是菜鸟勿怪

追答

这个name是定义在类里的变量,只要是类里面调用this.name都是调用这个定义在类里的name,至于那个setName括号里面的那个就是局部变量,setName('Java')相当于把Java赋给局部变量name,然后用this.name=name赋给类变量name
这种用set开头的方法给变量赋值和用get方法提取变量的值都是挺常用的,因为会很方便对变量的值进行其他操作,以后你慢慢就会明白的。

追问

再请问最后一个,图里面第一个方法中return id+this.name返回id和类变量的值?setname("java")这个不是付值给局部变量的name吗?那这个返回的值不会是默认的值0吧?

默认值null

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答