当我只想打印年、月和日时,我的 GregorianCalendar 打印出来很长。
这就是我得到的:
dateOfBirth=java.util.GregorianCalendar[time=173592000000,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=1975,MONTH=6,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=3,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?]}Faculty{dateOfHire=java.util.GregorianCalendar[time=173592000000,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=1975,MONTH=6,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=3,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?], dateOfTermination=java.util.GregorianCalendar[time=173592000000,areFieldsSet=true,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=1975,MONTH=6,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=3,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?]
**带有 dateOfBirth 字段的 Person 类* 包 hierarchybaseclasses;
import hierarchyinterfaces.IPerson;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Person implements IPerson {
private String name;
private String address;
private String socialSecurityNumber;
private GregorianCalendar dateOfBirth;
public Person(){
this.name = "";
this.address = "";
this.socialSecurityNumber = "";
this.dateOfBirth = new GregorianCalendar();
}
public Person(String name, String address, String socialSecurityNumber,
GregorianCalendar dateOfBirth) {
this.name = name;
this.address = address;
this.socialSecurityNumber = socialSecurityNumber;
this.dateOfBirth = new GregorianCalendar();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSocialSecurityNumber() {
return socialSecurityNumber;
}
public void setSocialSecurityNumber(String socialSecurityNumber) {
this.socialSecurityNumber = socialSecurityNumber;
}
@Override
public GregorianCalendar getDateOfBirth() {
Date date = new Date();
dateOfBirth.setTime(date);
// dateOfBirth.getTime();
return dateOfBirth;
}
public void setDateOfBirth(GregorianCalendar dateOfBirth) {
//Date date = new Date();
//dateOfBirth.setTime(date);
dateOfBirth.getTime();
this.dateOfBirth = dateOfBirth;
}
@Override
public String toString() {
return "Person{" + "name=" + name + ", address=" + address + ",
socialSecurityNumber=" + socialSecurityNumber + ", dateOfBirth=" +
dateOfBirth + '}';
}
}
测试班 这是老师提供的。
包层次基类;
import java.util.GregorianCalendar;
public class TestClassAssignment3 {
public static void main(String[] args) {
// Create a date which will be used in all test methods
GregorianCalendar testDate = new GregorianCalendar(1975,
GregorianCalendar.JULY, 3);
// Create a classroom
Classroom classroom = new Classroom("PA100", "LECTUREHALL");
System.out.println(classroom.toString());
// Create a Faculty member
// Uses the date created above
Faculty faculty = new Faculty();
faculty.setDateOfBirth(testDate);
faculty.setName("Elizabeth Kramer");
faculty.setAddress("1 University Ave");
faculty.setSocialSecurityNumber("123456789");
faculty.setStatus("PARTTIME");
faculty.setDateOfHire(testDate);
faculty.setDateOfTermination(testDate);
faculty.setSalary(10000000);
// Create an Offered Course
// Uses the classroom created above
OfferedCourse newCourseOffering = new OfferedCourse("INFO301", "Java
Programming", classroom);
System.out.println(newCourseOffering.toString());
// Create a FacultyCourse (link to course id of newCourseOffereing
created above)
FacultyCourse facultyCourse = new
FacultyCourse(newCourseOffering.getCourseId());
// Add to list of courses for the faculty
faculty.getListOfCourses().add(facultyCourse);
System.out.println(faculty.toString());
// Create a Student
Student newStudent = new Student();
newStudent.setDateOfBirth(testDate);
newStudent.setName("Kathy Smith");
newStudent.setAddress("1 Beech Ave");
newStudent.setSocialSecurityNumber("567876567");
newStudent.setDateOfGraduation(testDate);
newStudent.setCurrentGPA(0.0f);
// Create a Student Course (link to course id of newCourseOffereing
created above)
StudentCourse studentCourse = new
StudentCourse(newCourseOffering.getCourseId());
// Add course to student's list of courses
newStudent.getEnrolledCourses().add(studentCourse);
// Add grades to Student's Course
studentCourse.getCourseGrades().add(90.5f);
studentCourse.getCourseGrades().add(100.0f);
studentCourse.getCourseGrades().add(70.5f);
studentCourse.getCourseGrades().add(65.0f);
System.out.println(newStudent.toString());
}
}