Wednesday, 9 September 2015

Object and Class in Java

Object and Class in Java

In this page, we will learn about java objects and classes. In object-oriented programming technique, we design a program using objects and classes.
Object is the physical as well as logical entity whereas class is the logical entity only.

Object in Java

object in java
An entity that has state and behavior is known as an object e.g. chair, bike, marker, pen, table, car etc. It can be physical or logical (tengible and intengible). The example of integible object is banking system.
An object has three characteristics:
  • state: represents data (value) of an object.
  • behavior: represents the behavior (functionality) of an object such as deposit, withdraw etc.
  • identity: Object identity is typically implemented via a unique ID. The value of the ID is not visible to the external user. But,it is used internally by the JVM to identify each object uniquely.
For Example: Pen is an object. Its name is Reynolds, color is white etc. known as its state. It is used to write, so writing is its behavior.
Object is an instance of a class. Class is a template or blueprint from which objects are created. So object is the instance(result) of a class.

Class in Java

A class is a group of objects that has common properties. It is a template or blueprint from which objects are created.
A class in java can contain:
  • data member
  • method
  • constructor
  • block
  • class and interface

Syntax to declare a class:

  1. class <class_name>{  
  2.     data member;  
  3.     method;  
  4. }  

Simple Example of Object and Class

In this example, we have created a Student class that have two data members id and name. We are creating the object of the Student class by new keyword and printing the objects value.
  1. class Student1{  
  2.  int id;//data member (also instance variable)  
  3.  String name;//data member(also instance variable)  
  4.   
  5.  public static void main(String args[]){  
  6.   Student1 s1=new Student1();//creating an object of Student  
  7.   System.out.println(s1.id);  
  8.   System.out.println(s1.name);  
  9.  }  
  10. }  
  11. Output:0 null
    

Object in java with values
As you see in the above figure, object gets the memory in Heap area and reference variable refers to the object allocated in the Heap memory area. Here, s1 and s2 both are reference variables that refer to the objects allocated in memory.

Another Example of Object and Class

There is given another example that maintains the records of Rectangle class. Its exaplanation is same as in the above Student class example.
  1. class Rectangle{  
  2.  int length;  
  3.  int width;  
  4.   
  5.  void insert(int l,int w){  
  6.   length=l;  
  7.   width=w;  
  8.  }  
  9.   
  10.  void calculateArea(){System.out.println(length*width);}  
  11.   
  12.  public static void main(String args[]){  
  13.   Rectangle r1=new Rectangle();  
  14.   Rectangle r2=new Rectangle();  
  15.   
  16.   r1.insert(11,5);  
  17.   r2.insert(3,15);  
  18.   
  19.   r1.calculateArea();  
  20.   r2.calculateArea();  
  21. }  
  22. }  
Output:55 
       45     

What are the different ways to create an object in Java?

There are many ways to create an object in java. They are:
  • By new keyword
  • By newInstance() method
  • By clone() method
  • By factory method etc.
We will learn, these ways to create the object later.

Annonymous object

Annonymous simply means nameless.An object that have no reference is known as annonymous object.
If you have to use an object only once, annonymous object is a good approach.
  1. class Calculation{  
  2.   
  3.  void fact(int  n){  
  4.   int fact=1;  
  5.   for(int i=1;i<=n;i++){  
  6.    fact=fact*i;  
  7.   }  
  8.  System.out.println("factorial is "+fact);  
  9. }  
  10.   
  11. public static void main(String args[]){  
  12.  new Calculation().fact(5);//calling method with annonymous object  
  13. }  
  14. }  
Output:Factorial is 120

Creating multiple objects by one type only

We can create multiple objects by one type only as we do in case of primitives.
  1. Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects  
Let's see the example:
  1. class Rectangle{  
  2.  int length;  
  3.  int width;  
  4.   
  5.  void insert(int l,int w){  
  6.   length=l;  
  7.   width=w;  
  8.  }  
  9.   
  10.  void calculateArea(){System.out.println(length*width);}  
  11.   
  12.  public static void main(String args[]){  
  13.   Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects  
  14.     
  15.   r1.insert(11,5);  
  16.   r2.insert(3,15);  
  17.   
  18.   r1.calculateArea();  
  19.   r2.calculateArea();  
  20. }  
  21. }  
Output:55 
       45   

2 comments: