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

do not understand code that creation and definition of a class are combined together.

 
albert kao
Ranch Hand
Posts: 252
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The following code is presented in a book.
I do not understand the code between the line A and B, specifically creation (by "new") and definition of a class are combined together.
I usually see code that the class is defined first, then it is created (by "new") later.
Is there a name for this style of coding?
 
Henry Wong
author
Marshal
Pie
Posts: 21506
84
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
See...

http://download.oracle.com/javase/tutorial/java/javaOO/nested.html

Or you can google for "anonymous inner class".

Henry
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Typically, when a class is created, the keyword "new" is followed by a constructor call, and that's the end of the line.

An anonymous inner class adds a class body immediately after the constructor. Note that the end-of-line semicolon is still required!

The resulting instance is a type that has no name (and is therefore anonymous) but is a subclass of the named constructor. The reference is upcast to the constructor type. And due to polymorphism, the instance will behave according to the anonymous class definition.

(Note: Because the anonymous class is a subtype that is overriding methods, an abstract class or interface can be used as the supertype.)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic