class Books{

 String title;

 String author;

}

public class BooksTestDrive {

 public static void main(String args[]){

  Books [] myBooks = new Books[3];

  //myBooks[0]  = new Books();

  //myBooks[1]  = new Books();

  //myBooks[2]  = new Books();

  int x = 0;

  myBooks[0].title = "The Grapes of JAVA";

  myBooks[1].title = "The JAVA of Gatsby";

  myBooks[2].title = "The JAVA Cook Books";

  myBooks[0].author = "bob";

  myBooks[1].author = "sue";

  myBooks[2].author = "ian";

  

  while (x < 3){

   System.out.println(myBooks[x].title);

   System.out.println(" by ");

   System.out.println(myBooks[x].author);

   x = x + 1;

  }

  

 }


}


굵게 글씨쓴 부분이 존재하지 않으면(그니까 주석을 풀지 않는다면) 프로그램 오류가 뜬다.


이유인 즉슨,

 Books [] myBooks = new Books[3]; 이 구문은 단순히 배열만 선언 했다는것!

지금은 Books 배열에 들어있는 원소는 Books 레퍼런스 변수에 불과하다는 점이다!


Books 객체는 따로 만들어 주어야 한다.

Posted by thread1525

댓글을 달아 주세요


블로그 이미지
1525번 thread 입니다.
thread1525

공지사항

Yesterday9
Today1
Total6,171

달력

 « |  » 2019.10
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

최근에 달린 댓글

최근에 받은 트랙백

글 보관함