2013-08-11 26 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; 
} 

Khác với điều này, chúng tôi có thể in tin nhắn theo bất kỳ cách nào khác không.Chúng ta có thể in một thông điệp java trên bàn điều khiển mà không sử dụng phương thức chính, biến tĩnh và phương thức tĩnh không?

+0

Tôi nghĩ rằng từ Java 7 trở đi cách tiếp cận thứ hai của bạn sẽ không in (và chúng tôi gọi nó là khối tĩnh, không phải phương pháp) – kosa

+2

@Nambari điều gì khiến bạn nói vậy ?! –

+2

Câu hỏi không rõ ràng. Bạn có nghĩa là không có * bao giờ * bằng cách sử dụng 'main()'? # 2 và # 3 không hoạt động trừ khi phương thức * some * 'main()' được gọi là nạp một lớp chứa các khai báo như vậy. –

Trả lời

7

Tất nhiên, bạn có thể, ví dụ như từ một nhà xây dựng class, phương pháp hoặc khối ví dụ. Tuy nhiên, nếu bạn đang nói về việc khởi chạy một chương trình đơn giản với dòng lệnh (ví dụ: java -jar myProgram), bạn sẽ vẫn cần phải khởi tạo lớp nơi mã thể hiện in ra bàn điều khiển nằm trong phương thức main.

Ví dụ, với trao 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"); 
    } 
} 

... bây giờ từ phương pháp main của Main lớp học của bạn:

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

Output:

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

Bạn có thể vui lòng ném thêm một chút ánh sáng vào Cách System.out.println ("câu lệnh cá thể Foo"); đang hoạt động. Nó sẽ được thực hiện mỗi khi chúng ta tạo ra các đối tượng của lớp này? – Algorithmist

+0

@Algorithmist exacly. Mỗi cá thể mới của 'Foo', câu lệnh cá thể được thực hiện. – Mena

+0

Nhưng làm thế nào nó hoạt động, nó không phải là một phần của một nhà xây dựng hay bất cứ điều gì khác, nó chỉ là một khối đơn giản. – Algorithmist

Các vấn đề liên quan