Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question about K&B book

 
Serena Zhou
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have a question about K&B book:
page 499 the code right below the exam watch:

Shouldn't this result in compilation error?
Thanks!
 
Nathaniel Stoddard
Ranch Hand
Posts: 1258
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You're correct. The compiler will freak out. Runnable is an interface, and I don't think you can create "subinterfaces" anonymously like we can anonymous classes.
I don't have the book laying around anymore so I can't tell you what the authors meant in the context. But what they might have been going for is something closer to:
 
Serena Zhou
Ranch Hand
Posts: 31
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks. but if you have pay attention to that ";" after Runnable(), you will find out that it is not the case.
The author might mean something like
Runnable r = new MyRunnable();// MyRunnable is a class that implements Runnable.
 
Nathaniel Stoddard
Ranch Hand
Posts: 1258
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
True. If MyRunnable truly is a class that implements the Runnable interface the program would compile. Since we only instantiate classes, using "new" on an interface type will always result in a compilation error unless we are talking about an anonymous class.
 
Bert Bates
author
Sheriff
Posts: 8900
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oops!
Serena you're right! It's amazing that on the 6th printing of this book there's still a few errors
It should be something like: Runnable r = new MyRunnable();
Thanks!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic