在学的时候有些地方总是搞不懂 
比如:
构造方法中
public Person(String name,int age){
this.setName(name);
this.setAge(age);
}
对比
public Person(String name,int age){
this.name=name;
this.age=age;
}
有什么区别?
还有方法中什么时候用void 什么时候不用 怎么才算有返回值?怎么才算没有返回值?其实就是return的使用问题 有的时候看书 return null; 这就不知所云了 既然返回空 那干脆写成void 不行吗?封装 把属性全部都用private 定义 然后生成set 和 get 方法就算了吗  还是练构造方法也必须用private呢  那方法也可以用 private 吗 在main下 使用方法是不是就不算合格的代码呢?
还有static 在什么情况下 使用比较好呢   全局变量  和 静态方法 在什么情况下考虑用呢 最后就是我对引用这块迷糊的不行 希望高人帮忙解惑啊
这问题可能都太初级了  但是我就这么初级 看到题 不知道从何下手 也不知道用什么方法怎么弄 我是java初学者 问题有点多  而且有点乱  希望大家不要见怪。。
坐等高人啊。。 

解决方案 »

  1.   

    不知道lz在学习JAVA的时候看的是哪本书,不可能这些问题一个都解决不了吧
    要是你没有C/C++语言的基础,我推荐你本书《JAVA SE6全方位学习》。这本书是从很基础的讲起的,你认真看看,很多问题都可以解决
      

  2.   

    1.构造方法是对象初始话时,第二种效率高些吧。
    2.看需求,你需要那就要
    3.可能方法中会有判断,比如if(。。){return object;}else return null;
    4.构造方法也可以私有化
    5.main方法中最好不要有逻辑
    6.静态方法是调用比较频繁的,全局变量,可以是你的类属性啊,定义的常量,或者多个对象共享,等等
      

  3.   

    对于返回null,还可能是因为书上的代码没有写完,为了方便可以编译通过
      

  4.   

    回答下第一个问题,上个星期刚注意到这个问题:推荐第一种写法,因为这样的封装性更好。比如你以后若是需要把name改为StringBuffer类型的,采用第二种方式的话所有用到name的方法都需要改动。而采用第一种方式的话,你只需要改动setName(),getName()。
      

  5.   


    如你所言 那么类中但凡用到name就必须调用getName()咯? 
      

  6.   

    LZ,刚开始学Java,比如你说的这些问题可以在书上找找概念,最主要的是要自己多敲敲代码,想知道有什么区别,直接敲代码看看,总之,初学者多看,多听,多练!
      

  7.   

    建议看《Think in Java》,虽然不是很容易一开始就看懂,但对于你的问题那里一定能找到,如果我跟你解答,万一引起了误解,那真是罪过,所以楼主你还是去找权威吧
      

  8.   


    Think in Java新手很不容易看懂
      

  9.   

    各位,不要动不动就让人看 Thinking in java 
      

  10.   


    对于这个问题再次请教如你所言,所有用到name的地方全部改成getName() 真的能减少维护成本?也请各位大侠留言