2014-02-19 3 views
0

개체 배열 목록을 만들려고합니다. 나는 학생이고 교수는 모든 선언이 실행 코드 앞에 있고 모든 인스턴스 또는 초기화 (어떤 용어가 확실하지 않은)가 실행 코드에서 수행되어야한다고 요구합니다. List 또는 ArrayList 개념이 처음이므로이 작업을 시작하는 방법을 알 수 없습니다.배열 및 개체 선언

List <Room> roomAry; //declare array object for rooms 

//initialize room array 
roomAry = new List<Room>(); 

이렇게하면 컴파일 할 수 없다는 메시지가 계속 표시됩니다.

오류는 다음과 같습니다

목록이 추상적이다; 인스턴스화 할 수 없습니다. roomAry = 새 목록 ();

답변

0

roomAry = new ArrayList<Room>()이어야합니다. .NET과 JAVA 모두에 맞습니다. List은 인터페이스 일뿐입니다 (Java)

0

이 오류는 문제가 무엇인지 정확하게 알려줍니다. List는 인터페이스이며 추상입니다. 추상 클래스 또는 인터페이스의 인스턴스는 만들 수 없습니다. 항상 구체적인 클래스의 인스턴스를 만들어야합니다.

javadocs의 List 인터페이스 아래 All Known Implementing Classes: 섹션을 참조하십시오. 구현하는 클래스 자체가 추상 클래스이면 사용할 수 없습니다.

따라서 인스턴스화를 위해 구현 클래스 중 하나를 사용할 수 있습니다. 간단한 것 중 하나는 ArrayList입니다.

roomAry = new ArrayList<Room>();