The Anonymous Class Conundrum

后端 未结 2 1036
耶瑟儿~
耶瑟儿~ 2020-12-21 20:44

I think I understand the basics of Anonymous classes but I\'d like to clarify something. when I have a syntax such as this

class A
{
       class Anonymous         


        
2条回答
  •  悲&欢浪女
    2020-12-21 21:42

    class A
    {
        public A()
        {
            JButton btn = new JButton();
            btn.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    // ...
                }
            });
        }
    }
    

    is more or less rewritten by the compiler as

    class A
    {
        private class SomeCuteName implements ActionListener
        {
            public void actionPerformed(ActionEvent e)
            {
                // ...
            }
        }
    
        public A()
        {
            JButton btn = new JButton();
            btn.addActionListener(new SomeCuteName());
        }
    }
    

提交回复
热议问题