日期:2014-05-20  浏览次数:20564 次

初学者的菜鸟问题
Java code
public class TestOverLoad {
    public static void main(String[] args) {
        Person p = new Person();
        Person p1 = new Person(400);
        Person p2 = new Person(2, 500);
        p.info();
        p.info("ok");
    }
}

class Person {
    
    Person() {
        id = 0;
        age = 20;
    }
    
    Person(int _id) {
        id = _id;
        age = 23;
    }
    
    Person(int _id, int _age) {
        id = _id;
        age = _age;
    }
    
  //成员变量定义
  private int id;
  private int age = 20;
  [color=#FF0000]//方法定义
  public int getAge() {return age;}
  public void setAge(int i) {age = i;}
  public int getId() {return id;}
这三句话是不是没有用处啊 ?  写不写 结果都是一样的。。具体有有什么用呢》?上面不是已经定义过方法了么??  [/color]  void info() {
      System.out.println("my id is : " + id);
  }
  
  void info(String t) {
      System.out.println(t + " id " + id);
  }
}


------解决方案--------------------
get,set方法,可以根据需要写。如果仅仅是一个测试程序,可以不写。

但是如果你做的是一个项目的话,最好写一下,因为要给用户改变值的方法,总不能每次都再new一个吧?

这个是习惯,根据需要吧。
------解决方案--------------------
要想给对象p的属性值修改,就用上了。
p.setAge(21);
System.out.println("重新赋值后,对象 p 的属性age 是 "+p.getAge());