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

求大神帮我分析一下这个程序尤其是(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

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

帮我看一下这个plc梯形图 讲解并分析一下 求大神指导
这个就是最简单的起保停程序,也叫自锁程序。x0为on了,x0常开触点导通,Y0输出,为on,此时y0常开触点导通。当x0为off了,由于下面的y0常开触点是导通的,因此y0输出就一直有了,这就是自锁了,也就是启动和保持了。然后当x1为on了,x1常闭触点断开,此时不管x0和y0的常开触点是否导通,y0输出都...

各位大神,请帮忙看一下下面这个程序什么地方出错了,目的是求商和...
因为你的scanf里面的“”里面有逗号.你在控制台输入得时候两个数据间没有打逗号。这是我写的你试试 while(1);是为了不闪屏 其余的你自己补充。这是关键的代码。

...n由输入决定)。求大神能详细解读一下这个程序,尤其是for语句里面...
第三行代码:printf("inputn:",&n);\/\/提示输入。第四行代码:scanf("%d",&n);利用scanf()函数输入n。第五行代码:for(i=1;i<=n;i++)\/\/进入for循环,外部for循环的主要作用是进行阶乘的求和。第六七八行代码:t=1;for(j=1;j<=i;j++)t=t*j;\/\/引用t这个变量进行对i这个阶乘的计...

哪个C语言大神帮我看哈我的这个程序哪儿有错嘛,万分感谢啊
就是那一步,括号加多了,if(strcmp(m->name,qname)==0) 还有就是后面是没有分号的。

求大神帮我解读一下这个程序.
第一行取Temperature的高八位,第二行取Temperature的低八位,因为发送数据的寄存器是8位的,需要装换一下

求大神帮忙看一下这个程序哪儿错了,感激不尽~~~
include "stdio.h" void main() { int i,m,n; float sum; printf("please input m and n:\\n"); scanf("%d%d",&m,&n); sum=0; if(m>0&&m<=n) { for(i=m;i<=n;i++) sum=sum+1\/i;\/\/我估计你是想求1+1\/2+……吧,但是你这里应该是1.0\/x printf...

求大神写一下这个程序急
int main(){ int line; \/\/ 菱形总行数 int column; \/\/ 菱形总列数 int i; \/\/ 当前行 int j; \/\/ 当前列 printf("请输入菱形的行数(奇数):");scanf("%d", &line);if(line%2==0){ \/\/ 判断是否是奇数 printf("必须输入奇数!\\n");exit(1);} column = line; \/\/ ...

哪位大神帮忙检查一下这个程序,求2个链接的并集,不知道哪个错误了_百 ...
} void CreateListR(LinkNode *L, ElemType a[], int n) \/\/尾插法建立链表{LinkNode *s, *r;r = L;for (int i = 0; i<n; i++){s = (LinkNode *)malloc(sizeof(LinkNode));s->data = a[i];r->next = s;r = s;}r->next = NULL;}void SortList(LinkNode *L) \/...

我想问一下大神,这个程序的问题求1-10各数平方的程序,却变成了奇数的平...
问题在于你使用了宏定义函数,它的特性是直接替换,当i=1;result=(i++)*(i++),所以先相乘后++,所以结果为1,并且i变成3,再(3++)(3++),以此类推...如果你把宏定义函数变成普通定义的函数就不会产生这样的结果了,因为普通函数是把参数传入而不是直接替换,爪机无力,望采纳 ...

求C语言大神帮看下这个程序为什么运行不起来。
void Del(char *m,int a){ int i;for(i=0;i<20-a;i++)(m+i)=*(m+i+1);\/\/*(m+i+1)='\\0';} 只要将最后一段代码注释掉便可运行,从调试来看*(m+i)=*(m+i+1);这句已将'\\0'复制了。

相似回答