가능한 중복 : 날짜 및 시험 : 나는 두 개의 클래스를 사용하고
Why I’m getting StackOverflowErrorStackOverflowError가
. Date는 일, 월, 년의 세 가지 정수로 Date 객체를 설정합니다. Exam은 하나의 String courseName과 하나의 Date Object에서 Exam 객체를 설정합니다.
이 코드를 실행하려고 : 나는 "주"스레드에서 오류 예외 java.lang.StackOverflowError
오류 문제가에 있다고 얻을 코드를 실행하려고하면
public Exam(String name, Date d)
{
courseName=name;
examDate=new Date(d);
}
//**a method that checks if two dates are equal**
public boolean equals (Date r)
{
return (examDate.equals(r));
}
public static void main(String[] args)
{
Date d=new Date(11,11,2011);
String a=new String("OOP");
Exam b=new Exam(a,d);
Date c=new Date(11,11,2011);
System.out.println(b.equals(c));
}
을 두 날짜가 같은지 확인하는 Date 클래스의 line :
public boolean equals (Date d)
{
return (this.equals(d));
}
나는 왜 그런 일이 발생하는지 감사하게 생각합니다. 이 클래스가 무엇이든간에
는 감사보고, 그것을 매개 변수의 정적 유형이
Object
것이 중요하다 제임스의 대답을주 같은 것을 시도해야한다 ,이 작품, 그리고 더 큰 문제에 대한 지금도 아이디어 전체 있어요. – Alan
@ncmathsadist 절대적으로. 내 대답을 편집했습니다. – gefei