The document provides an overview of classes and objects in Java, fundamental concepts of Object-Oriented Programming (OOP). It explains the definition, properties, and components of Java classes, as well as the characteristics and instantiation of Java objects. Additionally, it discusses various methods for creating objects and highlights the differences between classes and objects.
The document provides an overview of classes and objects in Java, fundamental concepts of Object-Oriented Programming (OOP). It explains the definition, properties, and components of Java classes, as well as the characteristics and instantiation of Java objects. Additionally, it discusses various methods for creating objects and highlights the differences between classes and objects.
36
Java Arrays Java Strings JavaQOPs JavaCollection Java 8 Tutorial Java Multithreading Java Exception H
Classes and Objects in Java
Last Updated : 03 Sep, 2024
In Java, classes and objects are basic concepts of Object Oriented Programming
(OOPs) that are used to represent real-world concepts and entities. The class
represents a group of objects having similar properties and behavior. For
example, the animal type Dog is a class while a particular dog named Tommy
is an object of the Dog class.
In this article, we will discuss Java objects and classes and how to implement
them in our program.
Java Classes
A class in Java is a set of objects which shares common characteristics/
behavior and common properties/ attributes. It is a user-defined blueprint or
prototype from which objects are created. For example, Student is a class while
a particular student named Ravi is an object.
Properties of Java Classes
1. Class is not a real-world entity. It is just a template or blueprint or prototype
from which objects are created.
2. Class does not occupy memory.
3. Class is a group of variables of different data types and a group of methods.
4. A Class in Java can contain
+ Data member
Method
* Constructor
Nested Class
Interface
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policyaccess_modifier class
{
data menber;
method;
constructor;
nested class;
interface;
+
Example of Java Class
Example 1 Example 2. Example 3
// Java Program for class example
class Student {
// data menber (also instance variable)
int id;
// data menber (also instance variable)
String nane;
evra
public static void main(string argst))
{
// creating an object of
// Student
Student si = new Student();
system. out.printin(s1.id);
Systen.out.print1n(s1.nane);
Output
null
Output 1
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyOutput 2
GeeksForGeeks
Output 3
GeeksForGeeks
Components of Java Classes
In general, class declarations can include these components, in order:
1. Modifiers : A class can be public or has default access (Refer this for
details).
2, Class keyword: class keyword is used to create a class.
3. Class name: The name should begin with an initial letter (capitalized
by convention).
4, Superclass(if any): The name of the class's parent (superclass), if
any, preceded by the keyword extends. A class can only extend
(subclass) one parent.
5. Interfaces(if any): A comma-separated list of interfaces implemented
by the class, if any, preceded by the keyword implements. A class can
implement more than one interface.
6. Body: The class body is surrounded by braces, {}.
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyConstructors are used for initializing new objects. Fields are variables that
provide the state of the class and its objects, and methods are used to
implement the behavior of the class and its objects.
There are various types of classes that are used in real-time applications such
as nested classes , anonymous classes , and lambda expressions.
Java Objects
An object in Java is a basic unit of Object-Oriented Programming and
represents real-life entities. Objects are the instances of a class that are
created to use the attributes and methods of a class. A typical Java program
creates many objects, which as you know, interact by invoking methods. An
object consists of :
1. State : It is represented by attributes of an object. It also reflects the
properties of an object.
2. Behavior : It is represented by the methods of an object. It also reflects the
response of an object with other objects
3. Identity : It gives a unique name to an object and enables one object to
interact with other objects.
Example of an object: dog
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyCoord
Ears
, ET Meo
eeu rLovbh
Sr)
ry
Poy) io
Color
Java Objects
Objects correspond to things found in the real world. For example, a graphics
program may have objects such as “circle”, “square”, and “menu”. An online
shopping system might have objects such as “shopping cart”, “customer”, and
“product”.
Note: When we create an object which is a non primitive data type, it's
always allocated on the heap memory.
Declaring Objects (Also called instantiating a class)
When an object of a class is created, the class is said to be instantiated . All
the instances share the attributes and the behavior of the class. But the values
of those attributes, i.e. the state are unique for each object. A single class may
have any number of instances.
Example:
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyClass Dog
Eeecuiiey
Dog1
Dog 2
Java Object Declaration
As we declare variables like (type name;). This notifies the compiler that we
will use the name to refer to data whose type is type. With a primitive variable,
this declaration also reserves the proper amount of memory for the variable. So
for reference variables , the type must be strictly a concrete class name. In
general, we can't create objects of an abstract class or an interface.
Dog tuffy;
If we declare a reference variable(tuffy) like this, its value will be
undetermined(null) until an object is actually created and assigned to it. Simply
declaring a reference variable does not create an object.
Initializing a Java object
The new operator instantiates a class by allocating memory for a new object
and returning a reference to that memory. The new operator also invokes the
class constructor.
Example:
Java
// Class Declaration
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyString breed;
> int age;
Strang color;
G
// Constructor Declaration of Class
public Dog(String nare, String breed, int age,
String color)
{
‘this.name = names
this,breed = breed;
this.age = age;
this,color = color;
}
// method 1
public String getName() { return nares }
// method 2
public String get8reed() { return breed; }
// method 3
public int getage() { return age; }
71 method 4
public String getColor() { return color; }
@0verride public String toString()
{
return ("Hi ny nane is " + this,getNane()
‘+ ".\nly breed,age and color are “
+ this.getsreed() + "," + this.getage()
+ "," + this.getColor());
}
public static void main(string[] 2res)
{
Dog tufty
= new Dog("tuffy", “papillon”, 5, "white");
System. out. printIn(tuffy.tostring())5
}
}
Output
Hi my name is tuffy,
My breed,age and color are papillon,5,white
Initialize by using method/function:
Java
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policypublic class GFG {
// su=software
static String sw_nare;
static float sw price;
static void set(String n, float p)
evrxe@a
{
sw_nane =n;
sw_price = 9;
,
static void get()
{
systen.out.printIn("Software nane is: " + surname);
Systen.out.printIn( "Software price is: "
+ sw_price);
}
public static void main(String argst])
{
GFG.set("Visual studio", .0f)3
CF6.get();
+
}
Output
Software name is: Visual studio
Software price is: @.@
This class contains a single constructor. We can recognize a constructor
because its declaration uses the same name as the class and it has no return
type. The Java compiler differentiates the constructors based on the number
and the type of the arguments. The constructor in the Dog class takes four
arguments. The following statement provides "tuffy
as values for those arguments
“papillon’,, and “white”
Dog tuffy = new Dog("tuffy","papillon",5, "white");
The result of executing this statement can be illustrated as :
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policyan Address
(for eg. 100)
‘Memory Allocation of Java Objects
Note: All classes have at least one constructor. Ifa class does not
explicitly declare any, the Java compiler automatically provides a no-
argument constructor, also called the default constructor. This default
constructor calls the class parent's no-argument constructor (as it
contains only one statement i.e super();), or the Object class constructor
if the class has no other parent (as the Object class is the parent of all
classes either directly or indirectly).
Ways to Create an Object of a Class
There are four ways to create objects in Java. Strictly speaking, there is only
one way(by using a new keyword), and the rest internally use a new keyword.
1. Using new keyword
Itis the most common and general way to create an object in Java.
Example:
// creating object of class Test
Test t = new Test();
2. Using Class.forName(String className) method
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyThere is a pre-defined class in java.lang package with name Class. The
forName(String className) method returns the Class object associated with
the class with the given string name. We have to give a fully qualified name for
a class. On calling the new Instance() method on this Class object returns a
new instance of the class with the given string name.
// creating object of public class Test
// consider class Test present in com.p1 package
Test obj = (Test)Class.forName("com. pl. Test") .newInstance();
3. Using clone() method
clone() method is present in the Object class. It creates and returns a copy of
the object
// creating object of class Test
Test t1 = new Test();
// creating clone of above object
Test t2 = (Test)t1.clone();
4. Deserialization
De-serialization is a technique of reading an object from the saved state in a
file. Refer to Serialization/De-Serialization in Java
FileInputstream file = new FileInputStream(filename) ;
ObjectInputStream in = new ObjectInputStream(file) ;
Object obj = in.readobject();
Creating multiple objects by one type only (A good practice)
In real-time, we need different objects of a class in different methods. Creating
a number of references for storing them is not a good practice and therefore we
declare a static reference variable and use it whenever required. In this case,
the wastage of memory is less. The objects that are not referenced anymore
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyExample:
Test test = new Test();
test = new Test();
In the inheritance system, we use a parent class reference variable to store a
sub-class object. In this case, we can switch into different subclass objects
using the same referenced variable.
Example:
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
Public class Test
{
// using Dog object
Animal obj = new Dog();
// using Cat object
obj = new Cat();
+
Anonymous Objects in Java
Anonymous objects are objects that are instantiated but are not stored in a
reference variable.
* They are used for immediate method calls.
* They will be destroyed after method calling.
* They are widely used in different libraries. For example, in AWT libraries,
they are used to perform some action on capturing an eventleg a key press).
* Inthe example below, when a key button(referred to by the btn) is pressed,
we are simply creating an anonymous object of EventHandler class for just
calling the handle method.
btn.setonAction(new EventHandler()
{
public void handle(ActionEvent event)
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy PolicyYs
Difference between Java Class and Objects
The differences between class and object in Java are as follows:
Class Object
Class is the blueprint of an object. It is |
An object is an instance of the class.
used to create objects.
No memory is allocated when a class is Memory is allocated as soon as an
declared. object is created
An object is a real-world entity such as
A class is a group of similar objects.
a book, car, etc.
Class is a logical entity. An object is a physical entity.
Objects can be created many times as
A class can only be declared once.
per requirement.
Objects of the class car can be BMW,
‘An example of class can be a car.
Mercedes, Ferrari, ete.
Conclusion
Mastering the concepts of classes and objects is essential for any Java
programmer. These foundational elements of Java allow for the creation of
robust and scalable software designs. Understanding how to effectively use
classes and objects can help you write more organized and modular code,
which is easier to manage and extend
Want to be a master in Backend Development with Java for building robust
We use cookies to ensure you have the best browsing experience on our website. By using our
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy