안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2011년 2월 16일 수요일

[안드로이드] no enclosing instance of type

에러는 클래스를 인스턴스화(객체화) 시키지 않고 내부 클래스를 접근할 발생한다.

예를 들어,

class Foo
{
class Bar
{

}
}


Bar bar = new Foo.Bar();


위와 같이 사용하였을 경우 에러가 난다.

빈번하게 에러가 나는 경우가 있다.


비슷한 맥락이지만, 메소드를 static으로 선언해 주고 static 아닌 내부 클래스를 접근할 경우동일한 에러가 발생된다.

class Foo
{
class Bar
{

}

static void Test()
{
new Bar() ....
}

}


이유는 동일하다. 내부 클래스는 외부 클래스 생성시에 생성되기 때문이다.

댓글 없음:

댓글 쓰기