2014-04-15 5 views
0

나는 이전에 자바로 서브 클래스에 의해 클래스를 구현하는 방법에 대한 질문을했고 나는 다른 방법을 사용 발견 (나를 위해 다른!) URL을 :. here매개 변수로 사용하는 개체?

public void paintComponent(Graphics g){ 

이 라인은을 위해, 나를 위해 혼란 한 클래스가 매개 변수로 전달되었습니다. 글쎄, 나는 여기에 물어보기 전에 시도하고 이해하는 것을 생각했다.

public class parameterObject{ 

String name; 
int age; 

public parameterObject(){} 
public parameterObject(String inputName,int inputAge){ 

    name = inputName; 
    age = inputAge; 

} 
public void testObject(){ 

System.out.println(name); 
System.out.println(age); 
} 

} 

하고 다음 수업 시간에, 나는 방법 전화했을 때

public void testFunction(parameterObject pO, int a){ 
pO.testObject(); 
} 

(bjueJ 환경에서) 매개 변수로 parameterObject를 전달하는 방법을 사용

, testFunction(...) 그것은 매개 변수에 대한 질문 : 여기 내 코드입니다 값을 입력하고 "arpan",19 and 20을 입력했습니다. error : expected .. 그리고 나서을 objectParameter에 사용하려고 시도한 다음 JVM이 nullPointException 오류를 던졌습니다. 무엇이 발생했는지와 내 이해가 부족한 부분이 있습니까? 도와주세요. 난 당신이 무슨 짓을했는지 이해한다면

+0

없음 클래스는 매개 변수로 전달되지되고있다. Graphics의 인스턴스가 파라미터로서 건네받습니다. 귀하의 문제는 불명확하며 귀하의 질문은 명확하지 않습니다. – EJP

답변

0

, 난 당신이 그렇게했다고 생각 :

X.testFunction(new parameterObject("arpan", 19), 20); 
+0

자세한 설명이 필요한 경우 그냥 물어보십시오! –

+0

bjueJ에서 직접 메서드 호출을 사용했습니다. – user3519322

+0

다음은 실행했을 때의 함수에 대한 스크린 샷입니다. https://www.dropbox.com/s/vnnnfq61m17z5li/Screenshot%20from%202014-04-15 % 2010 % 3A43 % 3A36.png – user3519322

0

내가 제대로 testFunction이 기대를 이해한다면 :

옳지 않다
X.testFunction("arpan", 19, 20); 

, u는 다음과 같이해야 두 가지 매개 변수 : 먼저 p0 유형이 parameterObject이고 그 다음 a 유형이 int입니다.

다음과 같은 방법으로 호출 했습니까? testFunction("arpan", 19, 20)?

이 호출은 "메소드 서명과 일치하지 않습니다". 즉, 전달한 값의 유형이 메소드가 기대하는 값과 일치하지 않는다는 의미입니다. "arpan"은 문자열이고 19, 20두 개의 int입니다.

당신이 대신 같은 뭔가를 할 수 :

parameterObject abc = new parameterObject("arpan", 19); 
testFunction(abc, 17); // one parameterObject and one int - just like testFunction expects 
관련 문제