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

一简单的java代码,看不懂,求解释 public Test(int a){ }
这是我看java教程出现的一段代码:
  class BirthDate {
  private int day;
  private int month;
  private int year;
   
  public BirthDate(int d, int m, int y) { \\1.这里不明白,这个定义是方法吗怎么和类名相同  
  day = d; 
  month = m; 
  year = y;
  }
   
  public void setDay(int d) {
  day = d;
  }
 
  public void setMonth(int m) {
  month = m;
  }
   
  public void setYear(int y) {
  year = y;
  }
   
  public int getDay() {
  return day;
  }
   
  public int getMonth() {
  return month;
  }
   
  public int getYear() {
  return year;
  }
   
  public void display() {
  System.out.println
  (day + " - " + month + " - " + year);
  }
}


public class Test{
  public static void main(String args[]){
  Test test = new Test();
  int date = 9;
  BirthDate d1= new BirthDate(7,7,1970); \\2.这BirthDate什么意思,new的是什么东西啊,不可能是new方法吧?  
  BirthDate d2= new BirthDate(1,1,2000); \\3.同2一样
  test.change1(date);
  test.change2(d1);
  test.change3(d2);
  System.out.println("date=" + date);
  d1.display();  
  d2.display();
  }
   
  public void change1(int i){
  i = 1234;
  }
   
  public void change2(BirthDate b) {
  b = new BirthDate(22,2,2004);
  }
   
  public void change3(BirthDate b) {
  b.setDay(22);
  }
}
哎,关键就是
public BirthDate(int d, int m, int y)
代码有什么玄机,真的看不懂。请大家帮帮忙,谢谢了。

------解决方案--------------------
public BirthDate(int d, int m, int y) { \\1.这里不明白,这个定义是方法吗怎么和类名相同
这是构造方法,构造一个类BirthDate的对象
BirthDate d1= new BirthDate(7,7,1970); \\2.这BirthDate什么意思,new的是什么东西啊,不可能是new方法吧
BirthDate是类,d1是类的对象,new用来在运行堆中创建一个对象,BirthDate(7,7,1970)是构造器。