2012-05-09 4 views
0

나는 안드로이드 응용 프로그램 작업을 시작하고 나는이 코드 조각을 이해하기 조금 어려운 찾을 : 어떻게 LineNumberReader 함수는 새와 같은 을 FileReader을 허용하는지 알 수자바/안드로이드 API 이해

LineNumberReader(new FileReader("/proc/tty/drivers")); 

을 클래스의 인스턴스? LineNumberReader API에 대한 Java 설명서를 살펴본 결과 FileReader 클래스와 관련된 내용은 언급하지 않았습니다. 고려해야 할 Java API 해석에는 문제가 있습니다. Java에서 API를 사용해야하는 방법을 이해하는 데 도움을 줄 수 있습니까?

new LineNumberReader(new FileReader("...")) 

LineNumberReader documentationconstructor taking a Reader parameter를 표시하고 FileReaderReader를 확장 :

답변

4

나는 당신이 실제로보고 생각한다. 이렇게 생각하면 다음과 같습니다.

Reader reader = new FileReader("/proc/tty/drivers"); 
LineNumberReader lineNumberReader = new LineNumberReader(reader); 

당신에게 더 명확한가요?

+0

감사합니다. 존, 지금은 분명합니다. Reader 클래스의 Java 문서 [link] (http://developer.android.com/reference/java/io/Reader.html)에는 ** 알려진 직접 서브 클래스 ** 및 ** 알려진 간접 참조 하위 클래스 **, 둘 다 차이점은 무엇입니까? 독자가 이전 Reader에서 언급 한 것처럼 두 클래스를 모두 사용할 수 있습니까? 아니면 간접적 인 하위 클래스가이 범주에 속하는 것으로 알려져 있습니까? –

+0

@RajeshSO : 차이점은 * 직접 * 하위 클래스는 Reader를 직접 확장하는 클래스이고 간접 하위 클래스는 Reader의 다른 하위 클래스를 확장하는 클래스입니다. 둘 다 독자로 사용할 수 있습니다. 더 많은 상속을 명확히하기 위해이 시점에서 자바 서적을 읽으시기 바랍니다. –

+0

고마워, 그래, 나는 자바를 배우는 중이다. Java로 시작할 좋은 책을 제안 할 수 있습니까? 내가 발견 한 ** 자바 **는 초보자들에게 이해가된다. 어떤 제안이 있니? –