<< Chapter < Page Chapter >> Page >

As you can learn at (External Link) , the list also includes:

  • Static initializer blocks
  • Instance initializers

Can also contain other class definitions

In this and the next two modules, you will learn that a class definition can also contain the following three kinds of inner classes :

  • Member classes
  • Local classes
  • Anonymous classes

A class can also contain Nested top-level classes and interfaces , which you can learn about at (External Link) .

(Note that it is questionable whether a nested top-level class or interface should be referred to as an inner class, because an object of anested top-level class can exist in the absence of an object of the enclosing class. Regardless of whether the term inner class applies, anested top-level class is defined within the definition of another class, so its definition is internal to the definitionof another class.)

This module will be dedicated to an explanation of member classes . Subsequent modules will explain the other two types of inner classes in the above list .

What is a member class ?

A member class is a class that is defined inside the definition of another class, (without the use of the static modifier as is the case with a nested top-level class).

An object of the member class must be internally linked to an object of the enclosing class, (which is not the case with a nested top-level class).

Thus, a member class is truly an inner class. (An object of the member class cannot exist in the absence of an object of the enclosing class.)

What about a member interface ?

Interfaces defined within classes are implicitly static. This means that they are always top-level. There is no such thing as a member interface, a local interface, or an anonymous interface.

Why use member classes ?

Probably the most important benefit of member classes has to do with accessing the other members of enclosing classes. The methods of a member classhave direct access to all the members of the enclosing classes, including private members. Thus the use of member classes can eliminate the requirement toconnect objects together via constructor parameters.

This is particularly useful in those cases where there is no reason for an object of a member class to exist in the absence of an object of the enclosingclass, and where the methods of the object of the member class need access to members of the object of the enclosing class.

Data structures and iterators

For example, there is usually no reason for an Iterator object to exist in the absence of the data-structure object for which it is designed toprovide iterator services. Also, the iterator object usually needs to have ready access to the members of the data-structure object, some or all of which may beprivate. Thus, a class from which an Iterator object can be constructed is a good candidate for inclusion as a member class in the classfrom which the associated data-structure object is instantiated.

Listener objects

Another common use for inner classes is in the definition of classes from which listener objects (which listen for events fired by other objects) are instantiated. (However, it may be more common to use anonymous classes than member classes for this purpose.)

Questions & Answers

what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
cell is the building block of life.
Condoleezza Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask