请教一下 字符串变量是类中的一个变量么?
还是作为一个对象?有几点疑惑,请教一下开始的时候声明一个类
class Person;
后来,protected String strName;
再后来有,public void setName(String name)
{
strName=name;
}
到了后面的代码中有Person p=new Person("abcd");
                   p.setName("dddd")
                   p.print();   /这是在上面的代码中定义了的输出方法
这里我有个疑惑,不是说String类的字符串变量是作为对象么?那p也是一个对象,而代码 p.setName("dddd"),的意思是不是说对 对象p的strName变量赋值dddd?这里我糊涂了,那这个strName究竟是一个对象还是类Person中的一个成员变量?如果作为对象,那和普通的对象,比如p之间的区别又是什么呢?
请教各位前辈,帮忙解答一下,我晕了.谢谢啊学了一些JAVA基础知识后.
我对对象和成员变量的理解是这样的,请各位大虾给指导一下.
以现实生活中的例子来说,比如台灯做为一个类,那某一盏台灯就是一个特定的对象.而这盏台灯的高度,亮度,开关灯的方式,颜色,形状.等等这一系列的属性,其实就是JAVA中的台灯类中的成员变量.那我们可以用下面的格式来设置这些属性值,(对象名.成员变量=具体的值).但是在上面这个帖子中,strName我理解为这个台灯的名字.如果是这样,用(对象名.成员变量=具体的值)这样的方式来设置这个台灯的名字,似乎也说得过去.可是书上却又说,字符串变量既是一个类变量,也是一个对象.那这个作为对象怎么去理解呢?我不是很明白.而且这个对象又是有什么具体的属性呢?请教各位前辈了

解决方案 »

  1.   

    理解的方面不一样,你记住,在java一切都作为对象对待。
    说变量只是让人更容易理解
      

  2.   

    楼上的前辈,我可不可以这样理解?
    String a;是声明了一个变量,但是因为有String这么一个类,所以也符合声明对象的格式.所以我们也可以理解为声明了一个对象.
    如别的Long类,Long b;也同样的,是声明了一个变量,但因为有Long这么个类存在,所以也可以看成是声明了一个对象而且,其实对象的某个属性,这属性也是可以看成对象的.不知道我这样理解对不对?请前辈指正
      

  3.   

    我对对象和成员变量的理解是这样的,请各位大虾给指导一下.
    以现实生活中的例子来说,比如台灯做为一个类,那某一盏台灯就是一个特定的对象.而这盏台灯的高度,亮度,开关灯的方式,颜色,形状.等等这一系列的属性,其实就是JAVA中的台灯类中的成员变量.那我们可以用下面的格式来设置这些属性值,(对象名.成员变量=具体的值)
    成员变量可以使对象,这是一个包含的关系。
    好比台灯,你说它有高度,亮度,开关灯的方式,颜色,形状.等等这一系列的属性,你也可以这么
    认为台灯有灯泡这个属性,本身灯泡自己就可以是个对象,本身也有高度,亮度等属性