title: Please help me to understand java structure
body: <pre><code>public class MyDate {
      private int day = 1;
      private int month = 1;
      private int year = 2000;
  
      public MyDate(int day, int month, int year) 
      {
          this.day = day;
          this.month = month;
          this.year = year;
      }
  
      public MyDate(MyDate date) 
      {
          this.day = date.day;
          this.month = date.month;
          this.year = date.year;
      }
  
      /*
          here why do we need to use Class name before the method name?
      */
      public MyDate addDays(int moreDays) 
      {
          // "this" is referring to which object and why?
          MyDate newDate = new MyDate(this);
          newDate.day = newDate.day + moreDays;
  
          // Not Yet Implemented: wrap around code...
          return newDate;
      }
  
      public String toString()
      {
          return "" + day + "-" + month + "-" + year;
      }
  }
  </code></pre>