English 中文(简体)
Anonymous class question
原标题:

I ve a little doubt over this line:

An anonymous class cannot define a constructor

then, why we can also define an Anonymous class with the following syntax:

new class-name ( [ argument-list ] ) { class-body }
最佳回答

You are not defining a constructor in anonymous class, you are calling a constructor from superclass.

You can t add a proper constructor for anonymous class, however, you can do something similar. Namely an initialization block.

public class SuperClass {
   public SuperClass(String parameter) {
       // this is called when anonymous class is created
   }
}

// an anonymous class is created and instantiated here
new SuperClass(parameterForSuperClassConstructor) {
   {
      // this code is executed when object is initialized
      // and can be used to do many same things as a constructors
   }

   private void someMethod() {

   }

}
问题回答

Your example creates an anonymous subclass of class-name, and you are not permitted to create a constructor specific to your anonymous class. The argument list you give is the same as the argument list for the class-name constructor.

This implies that an abstract class exist called class-name with the defined constructor. You are making use of that constructor in your anonymous class similar to using super() in the constructor of a sub class.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签