How to initialize anonymous inner class in Java

后端 未结 4 1554
庸人自扰
庸人自扰 2021-01-08 00:24

Is there any way to initialize anonymous inner class in Java?

For example:

new AbstractAction() {
    actionPerformed(ActionEvent event) {
    ...
          


        
4条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-08 01:00

    Use an Initializer Block:

    new AbstractAction() {
    
        {
            // do stuff here
        }
    
        public void actionPerformed(ActionEvent event) {
        ...
        }
    }
    

    Initializing Instance Members

    Normally, you would put code to initialize an instance variable in a constructor. There are two alternatives to using a constructor to initialize instance variables: initializer blocks and final methods. Initializer blocks for instance variables look just like static initializer blocks, but without the static keyword:

    {
        // whatever code is needed for initialization goes here
    }
    

    The Java compiler copies initializer blocks into every constructor. Therefore, this approach can be used to share a block of code between multiple constructors.

    Source:

    • Java Tutorial > Initializing Fields

提交回复
热议问题