这是我看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)
代码有什么玄机,真的看不懂。请大家帮帮忙,谢谢了。 

解决方案 »

  1.   

    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)是构造器。
      

  2.   

    LZ还是去看看基本的java语法吧
      

  3.   

    这个的确得看看java基础
    光看解释看不出什么的