내가하고 싶은 일이 가능한지 알아 내려고하고 있습니다. 나는 주위를 둘러 보았다. 구글은 적어도이 특별한 경우에 도움이되지 않았다.익명 클래스의 메서드 사용
다음은 내가하려는 일입니다. 내가 맡고있는 과제는 두 가지 가능한 인수 집합 [ "CREATE" "cardType"] 또는 [ "VERIFICATION" "accountNumber" "transactionAmout"]을 사용하여 명령 줄에서 여러 번 실행되도록 설계되었습니다. "CREATE"플래그가 전달 될 때마다 클래스의 익명 인스턴스가 생성됩니다. 생성자는 클래스와 관련된 다양한 데이터 필드를 만들고이를 파일에 기록하고 프로그램을 종료합니다. 좋아, 지금까지. 여기 생성자에서 조각입니다 (이 이러한 여러하지만 그들은 모두 거의 동일한 것) :
if(issuer.compareTo("AE") == 0)
{
try
{
cardType = "American Express";
firstDigit = 3;
accountNumber = accountNumberGen(firstDigit);
memberSince = new java.util.Date();
limit = setLimit(accountNumber);
output.write(accountNumber + "|" + cardType + "|" +
memberSince + "|" + limit + "\r\n");
}
catch(Exception e)
{
System.out.printf("An unexpected error occured. Sorry.\n"
+ "American Express Constructor.");
System.exit(0);
}
그래서, 여기에 내가 알아 내기 위해 노력하고있어입니다. 다음 단계는 "VERIFICATION"플래그입니다. 확인 플래그가 명령 줄에서 전달되면 파일에 들어가서 저장된 데이터를 읽고 변경 한 다음 다시 파일에 기록해야합니다. 다시 말하지만, 지금까지는 괜찮습니다. 여기에 문제가 있습니다 :
클래스의 인스턴스가 없으므로 클래스의 메서드를 호출 할 수 없습니다. 그러나 Verification 메서드는 명령 줄 인수를 완전히 처리하고 파일을 읽고 쓰는 등의 작업을 수행하기 위해 클래스의 인스턴스가 필요하지 않습니다. 그렇다면 클래스 내에서 익명으로 메소드를 호출하는 방법은 무엇입니까? 다른 인증 클래스를 만들어야합니까, 아니면 메소드를 기본 클래스로 옮길 수 있습니까? 과제 중 하나는 생성과 검증을 처리하는 클래스가 있어야한다는 것을 암시하기 때문에 어느 쪽인가에 대해서는 조금 주저합니다. 아니면, 또 다른 가능성은, 내 논리는이 결함에 접근하는 것이 결함인가?
이 코드는 진행중인 작품입니다 - 예외는보다 구체적인 될 것이다 열려있는 모든 filestreams은 폐쇄하려고하는 등
무엇 생성자가없는 클래스 존재하지 않는 경우에서 조각? 실제 오브젝트 구조에 관한 세부 사항이 필요하다고 생각합니다. 또한, 이들 중 어느 것에 대해 얼마나 많은 통제력을 가지고 있습니까? 많은 구현 클래스 (또는 추상 수퍼 클래스)가있는 인터페이스를 사용해야하는 것 같습니다. – Thor84no
가 여기에 익명으로 무엇을 의미하는지, 난 '공공 정적 무효 메인 (문자열 []에 args)이 예외 { inputValidation (인수)를 던졌습니다 ... 잘못된 용어를 사용했을 수 있습니다; (args.length == 2) 새 계정 (args [1]) } ' – MikeTheLiar