On 4/20/08 11:52 AM, Michael O'Brien wrote:
> I wanted to clarify the meaning of a static block. Consider:
>
> class Shape {
>
> static var count
> var origin
>
> static {
> // Is this static initialization code?
>
> count = 1
> }
>
> {
>
> // Is this instance initialization code?
>
> origin = 0
> }
> }
>
>
> Reading the latest draft of the grammar I'm assuming that you must now
> put static init code inside a static {} block. Is this correct?
That is correct.
> Does that mean that other directives outside of methods and static
> blocks are instance initialization code?
No, statements are no longer allowed at the top level of a class definition.
Class initialization code goes in 'static {...}' blocks, and instance
initialization code goes in constructors, of course. Multiple 'static {...}'
blocks are allowed.
Jd
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss