Java的新手问题。很新的新手

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:20:29
class Person
{
private String name;//定义类的成员变量name
public Person(String n)//定义构造函数初始值为n
{
name=n;//为什么这里是把等号右边的内容赋值给左边????????????????
}
public String getname()//定义gername方法返回成员变量name
{
return name;
}
public void setname(String name)//定义setname方法修改成员变量name
{
this.name=name;//这里却把等号左边的内容赋值给右边?????????????
}
}
class PersonDemo
{
public static void main(String [] args)
{
Person p1 = new Person("1");
System.out.println(p1.getname());
p1.setname("2");
System.out.println(p1.getname());
}
}

/*我的理解是在定义p1的时候,先通过构造函数初始化n为1。然后将1赋值给name。打印出来的name为1。
然后运行p1.setname("2");,将2赋值给name,打印出来的结果为2。*/
我新手的程度是,只看过张孝祥的《java就业培训教程》的前3集。还在继续学习中。如果大家有什么好的适合新手的java网站或者论坛也告诉我一下吧,就是想找个能和别人交流的地方。另外也欢迎学java的新手加我的qq5929712.大家一起学习和讨论。**我要问的问题就是代码中带问号的部分**

赋值都是右边付给左边的。你的代码也是这样。在setname中将参数name赋值给域值name。你后面的程序运行逻辑还是大致对的。

don't worry!

1、第一处没什么奇怪,“=”的意思就是把右边的值赋给左边,把传进构造方法的n赋给p1的name属性。

2、第二处等号左边是对象,右边的name是setname()方法里的要传的String参数,意思是把传到 setname(String name)方法的String参数赋给对象p1的name属性。

3、你的命名规则不规范。尽量采用驼峰。