2013-08-11 16 views
5
public class Test { 

/** 
* @param args 
*/ 

// 1st way 
public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    System.out.println("Test....!!!!!"); 
} 

// 2nd way 
static{ 
System.out.println("Test....!!!!!"); 
System.exit(1); 
} 

// 3rd way 
private static int i = m1(); 
public static int m1(){ 
    System.out.println("Test...!!!!"); 
    System.exit(0); 
    return 0; 
} 

Poza tym, czy możemy wydrukować wiadomość w jakikolwiek inny sposób.Czy możemy wydrukować wiadomość java na konsoli bez użycia głównej metody, zmiennej statycznej i metody statycznej?

+0

myślę od Java 7, twoje drugie podejście nie zostanie wydrukowane (i my nazwijmy to statycznym blokiem, a nie metodą) – kosa

+2

@Nambari, co sprawia, że ​​tak mówisz ?! –

+2

Pytanie nie jest jasne. Masz na myśli bez * kiedykolwiek * używania 'main()'? # 2 i # 3 nie działają, chyba że * jakaś * metoda main() została kiedykolwiek wywołana, która załadowała klasę zawierającą takie deklaracje. –

Odpowiedz

7

Oczywiście można, na przykład, z konstruktora, metody lub bloku instancji class.

Jeśli jednak mówimy o uruchomieniu prostego programu z wierszem komend (np. java -jar myProgram), nadal trzeba utworzyć instancję klasy, w której znajduje się kod instancji drukowanej na konsoli, w metodzie main.

Na przykład, ze względu classFoo:

public class Foo { 
    // Initializer block Starts 
    { 
     System.out.println("Foo instance statement"); 
    } 
    // Initializer block Ends 

    public Foo() { 
     System.out.println("Foo ctor"); 
    } 
    public void doSomething() { 
     System.out.println("something done from this Foo"); 
    } 
} 

... teraz z metody main swojej klasie Main:

public static void main(String[] args) { 
    new Foo().doSomething(); 
} 

wyjściowa:

Foo instance statement 
Foo ctor 
something done from this Foo 
+0

Czy możesz rzucić nieco więcej światła na temat System.out.println ("Instrukcja wystąpienia Foo"); działa. Czy będzie wykonywany za każdym razem, gdy tworzymy obiekty tej klasy? – Algorithmist

+0

@Algorithmist exacly. Każda nowa instancja 'Foo', instrukcja instance jest wykonywana. – Mena

+0

Ale jak to działa, nie jest ani częścią konstruktora, ani czymkolwiek innym, jest tylko prostym blokiem. – Algorithmist

Powiązane problemy