2010-05-11 17 views
8

Concedido, él no nos mostró el código real aquí, lo mencioné, lo encontré extremadamente extraño.¿Es este código Java válido? Mi profesor dice que sí, pero realmente no estoy tan seguro

Por ejemplo, de acuerdo con lo que dijo que esto es válido de Java:

public class Person 
{ 
    String Name; 
    int Age; 

    { 
     //These two braces just chilling together - VALID? :O 
    } 
} 
+9

¿Por qué no puedes compilarlo por ti mismo? – someguy

+5

Enciende un eclipse (o cualquier otro IDE) y escríbelo tú mismo; el IDE no se quejará. – bergyman

+0

Claro - Pruébalo. Es válido en la mayoría de los idiomas. Bueno, la mayoría de las cosas en las que me he desarrollado. Solo para asegurarme de haberlo probado en el código que tengo abierto en este momento. –

Respuesta

16

Sí - Es la instance initializer. También puede usarlo junto con anonymous subclasses para Double-Brace Initialization.

+0

No con un punto y coma entre medio. Los {} son solo una definición de alcance. – vfilby

+5

No, no cuando está flotando en el cuerpo de la clase así - es un inicializador de instancia vacío. Métodos internos, entonces sí, es una definición de alcance. – gustafc

+2

@vfilby: No, si se trata de un bloque dentro de una clase pero no dentro de un método o constructor, es un inicializador de instancia. –

Cuestiones relacionadas