请教一下 字符串变量是类中的一个变量么?
还是作为一个对象?有几点疑惑,请教一下开始的时候声明一个类
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之间的区别又是什么呢?
请教各位前辈,帮忙解答一下,我晕了.谢谢啊

解决方案 »

  1.   

    这个字符串就是一个对象,它和Person本质上面没什么区别,它们都有自己的成员变量和成员方法,说它是一个变量是针对Person对象说的,在java中一切都是对象。
    关于变量的说法是从面向过程中引申过来的,和对象的表达方式不在一个层面上,并不冲突。
      

  2.   

    基本上同意楼上的说法,出了“在java中一切都是对象”
      

  3.   

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

  4.   

    楼主有文凭没有?如果有,那好办。如果没有,也没有关系,按照楼主理解的速度,我大胆预言,半年之后,lz将精通java。
      

  5.   

    "这个strName究竟是一个对象还是类Person中的一个成员变量?"两者都是
      

  6.   

    应该说String是一个特殊的对象吧
    但是说java中“一切皆是对象”我觉得欠妥当,因为还有很多像int,double等这些和其他过程式语言一样的基本数据类型啊而且在Collection中可以存放Object,但你能存放基本数据类型吗?ps:除了像Integer之类的。我是特指基本数据类型!
      

  7.   

    欢迎大家讨论,暂时不结帖,但分都给imA(男的不会,会的不男)
    因为他让我理解了这个问题
    再次感谢
      

  8.   

    楼上的说精通的那位朋友,不要说精通java,真正能达到精通java的人,至少要有十来年从事java开发的经验,并且做过java所有方面的项目,才有可能敢说精通。你可以说你精通java的某一个方面,比如说jsp、servlet,但是永远不要说精通java,因为现在java发展的太庞大了,涉及了企业软件开发中的各方各面。而我们程序员一般都是术业有专攻,没几个人敢说他精通所有的东西。
      

  9.   

    恩 楼上的前辈,那请教一下哦
    这样的速度,能找到比较高的月薪的工作么?
    还有精通jsp、servlet等大概可能需要多少时间呢?
      

  10.   

    不要想一上来就要找高新的工作,首先要找个一个公司潜下心来学习体验软件开发过程,并且积累项目经验(这些都是你日后能得到高新的保障)。另外不要把技术跟高新直接的联系起来(虽然技术NB一般都意味着高新),兴趣才是驱动你技术更上一层楼的根本动力,只有有了兴趣才能确保你达到更高的境界。我也不知道精通jsp、servlet需要多长时间,因为我不知道什么叫做精通。但是熟悉并且能在项目中实际应用也用不了多长时间,如果有项目跟着,一两个月就差不多能独立的使用了。另外不要叫我前辈、牛人、高手等等,我很讨厌这些称呼。因为我本身就不是什么高手,说实话我现在jsp、servlet中还有很多不知道的东西呢。搞程序开发一定要学会多动脑子、多动手,不旦要知道怎么做,还要了解为什么这么做。现在的网络这么发达,搜索引擎做的越来越好,连原子弹的制造工艺都能在互联网上找到,你的问题怎么可能找不到。所以千万不要遇到什么问题就知道问别人,一定要经过自己的思考、查阅相关资料,这个时候如果自己还是不理解、解决不了,再问别人,在问的同时要把自己遇到的问题、问题发生的现象、自己思考过哪些方面、自己对问题的看法(不怕你看法不对)等等都描述清楚,以便回答你问题的人作出正确的判断,并且对你的问题作出更为准确的判断和解决。千万不要问类似于这样的弱智问题:我的java文件编译不过去,请问高手们怎么办啊?,这样的问题不旦高手不愿意回答,而且还在心里骂你是弱智、白痴