public class Outter {
public void method1(int arg) {
int localvariable = 1;
//arg = 100;
//localvariable = 100;
class Inner {
void method() {
int result = arg + localvariable;
System.out.println(result);
}
}
}
// Outter out = new Outter();
// Outter.Inner in = out.new Inner();
// in.method(5);
// out.method1(5);
//
}
public class OutterExample {
public static void main(String[] args) {
Outter out = new Outter();
Outter.Inner in = out.new Inner();
in.method(5);
}
}
질문이 없다는게 함정
아..아래 사진에 Outter.Inner부분, 그리고 Inner부분이 cannot be resolved to a type. 이 뜹니다.
결과값 6을 출력하고 싶은데 어떻게 바꿔야할까요? 애초에 중첩클래스인데 왜 컴파일에러가 type때문에 안된다고 뜨는지 모르겠습니다.
뭘쓰려고 저렇게 쓰는건진 모르겠는데 out이라는 인스턴스에 new Inner()라는것을 접근할 수 있는지...?
그리고 Outer.Inner라는걸 타입으로 쓸 수 있는건지 궁금하네. 저렇게 접근하려고 이너 클래스 쓰는거 아닌것같은데.
nested class example이라고 중첩클래스 예시로 나온 건데..출력 값을 얻는 과정 없이, 지금 제가 올린 캡쳐 중 위의 것만 작성하고 넘어가서..제가 어떻게 하면 출력 값을 얻을 수 있는지 궁금해서요ㅠ
오 문서보니 저렇게 쓰네 ㅎㄷㄷ 하나 배워간다
https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
여기 본건진 모르겠는데 여긴 full example있네
ㅠㅠ 모르시나 보군요..주변에 물어볼 사람이 없어서 ㅠ
지금 니가 배울수준을 넘어서는 지식을 공부하려고하고있고, 보기만해도 그냥 왜 안되는지 보이는데 이걸모른다는것은 니가 아직 공부해야할 부분이아님
알고 있어용..국비 프로그램 7월 말부터 시작인데, 한 번만 쭉 훑어가고, 지금 이 문제의 답도, 아..이렇게 하는 구나 정도로만 듣고 싶어서 여기 도움을 요청했습니다.. 이거 알아서 깨우치겠다는 그런 건방진 생각 아니에요 ㅠ
딱 봐도 안되는 이유 설명 가볍게 부탁 드립니다..