Java is an Object
Oriented Language like C++. As a language that has the Object Oriented feature
Java supports the following fundamental concepts:
- Polymorphism
- Inheritance
- Encapsulation
- Abstraction
- Classes
- Objects
- Instance
- Method
- Message Parsing
Now we will look into
the concepts Objects and Classes:
Object: Objects have states and behaviors. Example: A
dog has states-color, name, breed as well as behaviors -wagging, barking,
eating. An object is an instance of a class.
Class: A class can be defined as a template/ blue print
that describe the behaviors/states that object of its type support.
Objects in Java:
Let us now look deep
into what are objects. If we consider the real-world we can find many objects
around us, Cars, Dogs, Humans etc. All these objects have a state and behavior.
If we consider a dog then its state is - name, breed, color, and the behavior
is - barking, wagging, running If you compare the software object with a real
world object, they have very similar characteristics. Software objects also
have a state and behavior. A software object's state is stored in fields and
behavior is shown via methods. So in software development methods operate on
the internal state of an object and the object-to-object communication is done
via methods.
Classes in Java:
A class is a blue print
from which individual objects are created.
A sample of a class is
given below:
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
A class can contain any
of the following variable types:
Local variables: Variables defined inside methods, constructors
or blocks are called local variables. The variable will be declared and
initialized within the method and the variable will be destroyed when the
method has completed.
Instance variables: Instance variables are variables within a class
but outside any method. These variables are instantiated when the class is
loaded. Instance variables can be accessed from inside any method, constructor
or blocks of that particular class.
Class variables: Class variables are variables declared with in a
class, outside any method, with the static keyword.
A class can have any
number of methods to access the value of various kind of methods. In the above
example, barking(), hungry() and sleeping() are methods. Below mentioned are
some of the important topics that need to be discussed when looking into
classes of the Java Language.
Constructors:
When discussing about
classes one of the most important sub topic would be constructors. Every class
has a constructor. If we do not explicitly write a constructor for a class the
java compiler builds a default constructor for that class. Each time a new
object is created at least one constructor will be invoked. The main rule of
constructors is that they should have the same name as the class. A class can
have more than one constructor.
Example of a constructor
is given below:
public class Puppy{
public puppy(){
}
public puppy(String
name){
}
}
Java also supports
Singleton Classes where you would be able to create only one instance of a
class.
Creating an Object:
As mentioned previously
a class provides the blueprints for objects. So basically an object is created
from a class. In java the new key word is used to create new objects.
There are three steps
when creating an object from a class:
Declaration: A variable declaration with a variable name with
an object type.
Instantiation: The 'new' key word is used to create the object.
Initialization: The 'new' keyword is followed by a call to a
constructor. This call initializes the new object.