2013-06-05 6 views
0

외부 클래스의 일부 변수를 선언하고 내부 클래스에서이 변수의 값을 가져오고 외부 클래스의 메서드에서이 변수에 대해 일부 연산을 수행하려고합니다. 여기 예제 코드를 통해이 작업을 수행하는 방법을 공유하고 있습니다. 작동하지 않고 String 값이 비어 있습니다. 나는 실수를하고 있거나 실제로 그것을하는 방법을 모른다. 내부 클래스에서 변경된 경우 외부 클래스가 변수의 업데이트 된 값을 얻을 것이라고 가정합니다. 도와주세요. 나는 아주 좋은 프로그래머가 아니기 때문에 기본적인 지식이 부족할 수도있다. 감사.Java의 외부 클래스에서 내부 클래스의 변수 액세스에 액세스

public class ABC 
{ 
    private String begin, end; 
    private SimpleDateFormat fromUser = new SimpleDateFormat("yyyy/MM/dd"); 
    private SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); 

    // Days in Current Month 
    public X() 
    { 
     new getDate(this).execute(); 
    } 

    public format(){ 
     String currdate = "2013/06/06" 

     try { 
      String reformattedbegin = myFormat.format(fromUser.parse(begin)); 
      String reformattedend = myFormat.format(fromUser.parse(end)); 
      Date begdate = myFormat.parse(reformattedbegin); 
      Date enddate = myFormat.parse(reformattedend); 
      Date currentdate = myFormat.parse(currdate); 

      if(currentdate.after(begdate) && currentdate.before(enddate)) 
       System.out.println(enddate + "" + begindate + ""      +currendate); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
    } 

    private class getdate 
    { 
     begin = "2013/06/05"; 
     end = "2013/06/07" 
     } 
    } 
+0

어떤 문자열 값이 비어 있습니까? 코드가 컴파일되고 있습니까? 여기에 오타가있을 것 같아서. –

+1

예, 실행되지 않습니다. 실제 코드는 어디에 있습니까? – iamnotmaynard

+0

beginlunch 및 endlunch 문자열은 format 메서드에서 비어 있습니다. 이것은 실제 코드가 아닙니다. 나는 다른 누군가가 쓴 커다란 프로젝트를 연구 중이다. 거의 700-800 라인. 나는 이것을 어떻게 작동 시키려고하는지 여기에서 간단히 설명하려고 노력했다. 감사. – MSIslam

답변

0

실제로이 작업 방법을 알았습니다. 어댑터를 사용하고 외부 클래스를 어댑터 클래스로 만들면 문제가 해결됩니다. 나는 코드를 적절하게 언급하지 않아서 유감이다. 모든 지원에 감사드립니다.

관련 문제