Classes and Objects in Java | Realtime Examples

In this tutorial, we will familiar with basic concepts of classes and objects in Java with realtime examples. We know that java is a true object-oriented programming language.

In the object-oriented programming language, we can design and develop an application program using classes and objects.

The underlying structure of all java programs is made up of classes. Anything we want to write in a java program must be encapsulated in a class.

A class is a model to create objects. It means that properties and actions of objects are written in the class. Properties are represented by variables and actions are represented by methods. So, a class consists of variables and methods.

In this chapter, we will know the following topics under classes and objects in Java. So, let’s see one by one.

Objects in Java


An object in Java is any real-world things that have properties and actions. In other words, an entity that has state and behavior is known as an object. Here, state represents properties and behavior represents actions or functionality.


Characteristics of an object in Java

An object has three characteristics:

1. State: State represents properties of an object. It is represented by instance variable/attribute of an object. The properties of an object are important because the outcome of functions depend on the properties.

2. Behavior: Behavior represents functionality or actions. It is represented by methods in Java.

3. Identity: Identity represents the unique name of an object. It differentiates one object from the other. The unique name of an object is used to identify the object.

Let’s take a real-world example to understand all these points clearly.

Realtime Examples of Objects in Java


Realtime Example 1:

We are taking the example “person”. A person has three characteristics: Identity (name), State (properties), and behavior (actions or functionality). Look at the below figure.

Class and objects in Java

In the above figure, a person is an object. First state of the person (object) is black hair which can be represented in Java like this: hairColor = “black”.

In the same way, second property of the object is eye color which can be represented in Java like eyeColor = “black” and so on. These are called attributes that define the properties of a person.

Let’s consider the behaviors or actions of a person. The actions of a person may be “eat, sleep, walk, play, and study”. These actions are represented in Java like this: eat(), sleep(), walk(), play(), and study(). These are called methods.

Thus, when properties and actions are combined together of any real-world object make an object in Java.

Note: Noun in English represents properties or state of an object. It can be represented with the help of variables whereas verbs represent action/behavior which can be represented with the help of methods.

Realtime Example 2:

Let’s take one more interesting example ‘Phone Samsung Galaxy’. If I tell you to represent this phone in java in the form of an object then How will you do like that?

You can do that very easily. Ask two questions: What it has? (Properties)   and What it does? (Actions)


Properties are width = 6.2 or  “6.2 inch”, height = 13.6 or “13.6 cm”, color = “black”, OS = “Android”, price = 1000 or “1000$”, brand = “Samsung”, and weight = “130 gm”. All these are nouns called attributes in Java.

Actions/Behavior are call(), sendSms(), runApp(), browserInternet(), sharing(). Thus, a phone object is comprised of the properties that the phone has actions that phone does.

Realtime example 3:

Another example we can take “Pencil”. A pencil is an object. Its name is Natraj.

State: color is black.

Behavior: It is used to write. So, writing is behavior.

Thus, you can take any object around you and think about what property it has? and What action it does?

Classes in Java


In Java programming, a class is basically user-defined data types that act as a template for creating objects of the identical type. It represents the common properties and actions (functions) of an object.

In other words, a class can also be defined as “a class is a group of objects which are common to all objects of one type”.

A class is the type of an object. Let’s understand it with realtime examples.

Realtime Examples of Class in Java


Real-time example 1:

Let us consider two objects Samsung Galaxy S4 and iPhone. Suppose Samsung Galaxy S4 have some properties like width = “6.98 cms”, height = “13.6 cm”, OS = “Android”, brand = “Samsung”, price = “1000$” and actions are call(), sendMessage(), browser(), share().

Now, suppose iPhone has some properties such as width = “5.86 cm”, height = “12.3 cms”, OS = “iOS”, brand = “Apple”, price = “1200$” and actions are call(), sendMessage(), browse(), share().

Both objects have some different properties and actions but the type is the same “Phone”. This is the class. i.e the name of the class is “Phone”.

Realtime example 2:

Consider two different objects one boy and one girl. The boy has some properties like hairColor = “black”, eyeColor = “black”, skinColor = “Fair”, height = “5.10 inch”, weight = “65 kg” and actions are read(), play(), sleep(), walk().

A girl has some properties like hairColor = “brown”, eyeColor = “brown”, skinColor = “milky white”, height = “5.4 inch”, weight = “50 kg” and actions are read(), play(), sleep(), walk(). But the type of both boy and girl is the same. Type is “Person”. So, the class name is “Person”.

Declaration of Class in Java


A class can be declared using the keyword class followed by a class name. It has also a body within braces. The general syntax to declare a class in Java is shown below:

Syntax:
 modifierName class className
 { 
   // class body.
 }

Components of Class in Java


In general, a class can have the following components to act as a template. It can be seen in the below figure and a brief explanation is given below.

Components of class in java

1. Modifiers: A class can be either public or default access modifier. But the members of class can be public, private, default, and protected. All these are the access modifiers.

2. Class name: By convention, a class name should begin with a capital letter and subsequent characters lowercased (for example Student). If a name consists of multiple words, the first letter of each word should be uppercased ( for example CollegerStudent).

A class name can also start with an underscore ”_”. The following class name can be valid such as _, _Student. Keywords cannot be a valid class name. For example, class, true, null, etc are not accepted as a class name.

3. Body: Every class’s body is enclosed in a pair of left and right braces. In the body,  a class can contain the following members.

class class_name 
{
 // Class body starts here.
 // Members of a class.

    1. Field declarations;
    2. Constructor declarations;
    3. Method declarations;
    4. Instance block declarations;
    5. Static block declarations;
 } Ends here.

If you are writing a simple program, everything must reside inside the body of the class. Let’s see in brief about all the members of the class.

Fields: Fields are data member variables of a class that stores data or value in it. It specifies the state or properties of the class and its object. It may be a local variable, instance variable, or static variable.

Constructor: A constructor is used to create an object. Every class must be at least one constructor otherwise, no object can be created of the class.

If you don’t explicitly define a constructor, the compiler automatically adds a default constructor inside the class. A constructor can be divided into two types such as default constructor and user-defined constructor.

Method: A method defines action or behavior of the class that a class’s object can perform. It has a body within braces. In the body, we write code that performs actions. It may be an instance method or a static method.

Block: A block is mostly used to change the default values of variables. It may be an instance block or static block.

Interface: An interface in Java is a mechanism which is used to achieve completely abstraction. It is basically a kind of class but can have only abstract method declarations and constants as members.

It is used to achieve multiple inheritances in Java. You will learn more details about the interface in the further tutorial.

Method main: A class has also the main method that provides the entry point to start the execution of any program. The main method is static in nature. The signature of the main method is as follows:

public static void main(String[] args) 
{
 //  This is a static region. 
      .............
}

The JVM executes everything between the curly braces { } of the main method. Every java program has at least one class and at least one main method.

Flow of Execution of Program in Java


1. Out of five elements declared inside the class body, the static variable, static block, and static method are executed first during the loading of the dot class file.

2. The instance variable is executed during object creation.
3. When the object is created, first, an instance block is executed before the execution of a constructor.

4. After the execution of an instance block, the constructor part will be executed.
5. After the execution of the constructor part, the instance method is executed.
6. The local variable is executed inside the method, constructor or block.

A simple programming structure of Class and Objects in Java


Let’s understand a simple programming structure of class and objects in Java. Suppose, Student is a class name and the name, rollNo, id, age of student will be its properties. The “public” is the access modifier.

Let’s implement these properties in a program.

Program source code:

public class Student 
{ 
// Declaration of state/Properties. 
    String name; // Instance variable. 
    int rollNo; // Instance variable. 
    int id; 
    static int age; // Static variable. 

// Declaration of constructor. 
    Student() 
    { 
      // Constructor body. 
    } 
// Declaration of Actions. 
    void display() // Instance method. 
    { 
       // method body. 
    } 
// Declaration of instance block. 
    { 
      // block body. 
    } 
    ....... 
    ....... 
public static void main(String[] args) 
 { 
   ....... 
  } 
}

Key points: 
1. You can create any number of objects of a class.
2. The process of creating an object of a particular class is called instantiating of an object.
3. The object is called an instance of class.

Difference between Class and Object in Java


There are the following differences between class and object in java. They are as follows:
1. A class is a user-defined data type whereas an object is an instance of class data type.
2. A class generates objects whereas an object gives life to a class.
3. Classes do not occupy memory location but objects occupy memory location.
4. Classes cannot be manipulated due to not available in the memory location but objects can be manipulated.

Can we call Class as Data type in Java?


Yes, a class is also considered as user-defined data types. This is because a user creates a class.

Hope that this tutorial has covered almost all the important points related to classes and objects in java with realtime examples. We hope that you will have understood the basic concepts of classes and objects in Java.

Key Points concerning Classes and objects in Java

1. Objects, classes, data abstraction, encapsulation, inheritance, method overriding, polymorphism, and message passing are the fundamental terms and concepts to understand the concepts of object-oriented programming approach.

2. Objects are the basic runtime entities in object-oriented systems.
3. All objects in a system take a separate memory space independently of each other.
4. A class in OOPs represents a group of similar objects.

5. Once a class has been created, any number of objects belonging to that class can be created.
6. An object of a class is also known as an instance.
7. A class never represents an object, rather it represents data and actions that an object will have.
8. Members of a class consist of variables (data members) and methods (member functions).

If this Java classes and objects tutorial is useful, please share it on social networking sites for your friends.
Thanks for reading!!!Next ⇒ How to create object in Java

Next ⇒

Leave a Comment