Thursday, February 11, 2010

Anonymous class implementing interface

Why is this not allowed:
JPanel panel = new JPanel(...) implements Scrollable {
    ...
};

I've ended up trying to write something like that several times - and each time I start to wonder what is wrong! A problem is of course that you could not directly access the methods of the implemented interface, but you could still have instanceof'ed and cast'ed it. Some interfaces are also just used for marking, e.g. Cloneable.

It is allowed with a local class:
class ScrollableJPanel extends JPanel implements Scrollable {
    ScrollableJPanel() {
        super(...);
    }
    ...
}
JPanel panel = new ScrollableJPanel();
The restriction seems arbitrary.

PS: Oh my god Blogger sucks. I have GOT to get away from this crappy blogging software. How is it possible to not have made any progress the last 5 years?!

3 comments:

  1. Thanks Endre, I agree that restriction in Java does seem arbitrary with interfaces. Also came across good reference here:

    Java Anonymous class and interface

    ReplyDelete
  2. Fucoidan được biết đến là một loại thực phẩm chức năng có lợi cho sức khỏe. Tác dụng của thuốc Best Fucoidan http://thuocbomat.net/tag/thuoc-best-fucoidan-70. Tác dụng của nó không chỉ đem đến những chất bổ dưỡng cho cơ thể, ngăn ngừa một số bênh cảm thông thường mà còn có thể sử dụng trong quá trình điều trị ung thư. Chữa ung thư phổi với thuốc Fucoidan http://thuocgiamcannhanhantoan.com/tag/thuoc-fucoidan-chua-ung-thu-phoi. Giá thành của Fucoidan hiện đang bày bán trên thị trường không hề rẻ. Tuy nhiên, có rất nhiều người tin tưởng và lựa chọn sử dụng. Đánh giá thuốc Fucoidan http://thuocgiaidocgan.net/tag/danh-gia-fucoidan . Một loại thuốc có tác dụng tuyệt vời như vậy hơn nữa lại có số lượng người sử dụng khá nhiều tại sao lại có những thắc mắc về chất lượng của nó. Thuốc chống ung thư fucoidan http://nammongtay.com/tags/thuoc-chong-ung-thu-fucoidan . Trong bài viết này, chúng tôi tổng hợp một số thông tin về thuốc Fucoidan và đi tìm lý giải vì sao lại có thắc mắc “thuốc Fucoidan có tốt không”.

    ReplyDelete
  3. Thanks for sharing.
    Nếu cần chành xe phú quốc thì a/c liên hệ bên mình nhé.
    Hotline: 0903751981

    ReplyDelete