2012-05-06 34 views
25

Niềng răng xoăn làm gì ở đó?Niềng răng xoăn trong biểu thức "mới"? (ví dụ: "MyClass mới() {...}")

handler1 = new Handler() { 

     public void handleMessage() { 

     } 
}; 

object = new Class_Name() {};? Cú pháp này chỉ tồn tại trên Android hoặc Java? Và nó được gọi là gì trong Java? Cảm ơn sự giúp đỡ của bạn.

+0

liên quan/trùng lặp câu hỏi: [ "Sự khác biệt giữa thử nghiệm mới() và thử nghiệm mới() {}"] (http://stackoverflow.com/q/22164036/320399) – blong

Trả lời

22

Đây là cú pháp để tạo một phiên bản anonymous class mở rộng Handler. Đây là một phần của Java.

+0

Thank you very much. Tôi đã mất rất nhiều thời gian cho việc này: ((. – wanting252

2

Điều này sẽ xảy ra khi bạn tạo tham chiếu cá thể của Giao diện. Ví dụ tôi muốn tạo thể hiện của giao diện Runnable với lớp, sau đó tôi có thể tạo nó bằng cách tạo một lớp ẩn danh cho cùng một và ghi đè phương thức run() của giao diện. Bạn có thể hiểu rõ bằng cách nhìn vào một ví dụ khác, sau đó bạn đã nêu dưới đây.

Runnable runnable = new Runnable() { 

    public void run() { 
     // TODO Auto-generated method stub 

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