Answer Posted / midhun h kumar
Inner classes-> Nested top-level classes, Member classes,
Local classes, Anonymous classes
Nested top-level classes- If you declare a class within a
class and specify the static modifier, the compiler treats
the class just like any other top-level class.
Any class outside the declaring class accesses the nested
class with the declaring class name acting similarly to a
package. eg, outer.inner. Top-level inner classes implicitly
have access only to static variables.There can also be inner
interfaces. All of these are of the nested top-level variety.
Member classes - Member inner classes are just like other
member methods and member variables and access to the member
class is restricted, just like methods and variables. This
means a public member class acts similarly to a nested
top-level class. The primary difference between member
classes and nested top-level classes is that member classes
have access to the specific instance of the enclosing class.
Local classes - Local classes are like local variables,
specific to a block of code. Their visibility is only within
the block of their declaration. In order for the class to be
useful beyond the declaration block, it would need to
implement a
more publicly available interface.Because local classes are
not members, the modifiers public, protected, private, and
static are not usable.
Anonymous classes - Anonymous inner classes extend local
inner classes one level further. As anonymous classes have
no name, you cannot provide a constructor.
| Is This Answer Correct ? | 6 Yes | 3 No |
Post New Answer View All Answers
Where is core java used?
What are the loops in java?
How many bits is a string?
What is the difference between abstract class and interface1? What is an interface?
Why isn’t there operator overloading?
What is the use of protected in java?
What is blank final variable?
What are autoboxing and unboxing? When does it occur?
State some situations where exceptions may arise in java?
What is a memory leak in java?
What is the size of arraylist in java?
These static constructors are correct ? class A { statc intA() { } static A(int x,int y) { } static A(int x) { } }
What is the flag in java?
Can we define constructor in inner class?
What is the difference between procedural and object-oriented programs?