2012-11-09 6 views
0

한 클래스의 메서드에서 다른 클래스의 메서드로 문자열을 전달하려고 시도했지만 그렇게 할 수 없습니다.클래스와 메서드간에 문자열 전달

나는 위치가 나는 위치에 대한 아규먼트와 방법을 가지고있는 클래스 AccelOrientExample에 전달하려는 문자열입니다

String location = Latitude + "," + Longitude; 
AccelOrientExample GPSstring = new AccelOrientExample(); 
GPSstring.onSensorChanged(location); 

과 같은 몇 가지를 시도했습니다.

도와주세요, 감사

는 타입 AccelOrientExample 새로운 측면에 내가 할 첫 번째 오류입니다 인스턴스화 할 수 없습니다. 그리고 SensorEventListener 유형의 onSensorChanged (SensorEvent) 메서드는 두 번째 행의 인수 (String)에 적용 할 수 없습니다.

public void onSensorChanged(SensorEvent sensorEvent, String location) 

는 타입 AccelOrientExample 나는 새로운 측면에있는 수 첫 번째 오류입니다 인스턴스화 할 수 AccelOrientExample

+2

어떤 오류가 발생합니까? * 어떻게 * 작동하지 않습니까? –

+0

당신이 직면 한 문제는 무엇입니까? –

+0

'할 수 없다 '.. 그럼 무슨 일이 일어나고있는거야? –

답변

0

의 방법입니다.

귀하의 AccelOrientExample은 추상 클래스입니다. 새로운 연산자를 사용하여 Abstract 클래스를 인스턴스화 할 수 없습니다. 당신은 당신의 서브 클래스 (구체적 클래스)가 그것을 초기화하도록해야 할 것이다.

좋아요. AccelOrientedExampleImpl은 AccelOrientedExample 클래스의 하위 클래스라고 가정합니다. 이 방법은 유형에 SensorEventListener (SensorEvent)를 onSensorChanged

  AccelOrientExample GPSstring = new AccelOrientedExampleImpl(); 

다음

는 번째 행의 인자 (문자열)에 적용 할 수 없다.

메서드 서명에는 SensorEvent 인스턴스와 String의 두 인수가 사용됩니다.

public void onSensorChanged(SensorEvent sensorEvent, String location) 

String 인스턴스 만 전달하려고합니다. 메소드가 두 개의 인수를 필요로하므로 둘 다 전달해야합니다. 아래처럼 뭔가를한다. SensorEvent은 구체적인 클래스이다.

String location = Latitude + "," + Longitude; 
AccelOrientExample GPSstring = new AccelOrientExample(); 
GPSstring.onSensorChanged(new SensorEvent(), location); 
+0

또한 OP는 그가 게시 한 예외에 따라'AccelOrientExample'을 인스턴스화 할 수 없습니다. –

+0

@RohitJain 제 편집을 확인합니다. AccelOrientedExample이 추상 클래스라고 가정합니다. 제발 내가 무엇이든 놓치고 있다면 알려주세요.) – PermGenError

+0

이제 완전한 대답입니다. 현재의 질문에 따라, OP는 이것을 대답으로 받아 들일 수 있습니다. :) –