Objects and Classes in Java
Objects and Classes in Java
An object in Java is the physical as well as a logical entity, whereas, a class in Java is a
logical entity only.
An entity that has state and behavior is known as an object e.g., chair, bike, pen, table,
car, etc. It can be physical or logical (tangible and intangible). The example of an
intangible object is the banking system.
● Identity: An object identity is typically implemented via a unique ID. The value of
the ID is not visible to the external user. However, 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, known as its state. It
is used to write, so writing is its behavior.
Object Definitions:
● An object is a real-world entity.
● Fields
● Methods
● Constructors
● Blocks
class <class_name>{
field;
method;
}
Instance variable in Java
A variable which is created inside the class but outside the method is known as an
instance variable. Instance variable doesn't get memory at compile time. It gets memory
at runtime when an object or instance is created. That is why it is known as an instance
variable.
Method in Java
In Java, a method is like a function which is used to expose the behavior of an object.
Advantage of Method
● Code Reusability
● Code Optimization
class Student{
//defining fields
String name;
System.out.println(s1.name);
We can have multiple classes in different Java files or single Java file. If you define
multiple classes in a single Java source file, it is a good idea to save the file name with
the class name which has the main() method.
File: TestStudent1.java
class Student{
int id;
String name;
class TestStudent1{
System.out.println(s1.id);
System.out.println(s1.name);
1. By reference variable
2. By method
3. By constructor
File: Main.java
//another class
class Student{
int id;
String name;
class Main{
s1.id=101;
s1.name="Sneha";
s2.id=102;
s2.name="Sudeshna";
}
We can also create multiple objects and store information in it through reference
variables.
File: Main.java
class Student{
int id;
String name;
class Main{
//Creating objects
//Initializing objects
s1.id=101;
s1.name="Kishore";
s2.id=102;
s2.name="Bishnu";
s3.id=103;
s3.name=”Kaushik”;
//Printing data
System.out.println(s1.id+" "+s1.name);
System.out.println(s2.id+" "+s2.name);
}
2) Object and Class Example: Initialization through method
In this example, we are creating the two objects of Student class and initializing the
value to these objects by invoking the insertRecord method. Here, we are displaying the
state (data) of the objects by invoking the displayInformation() method.
File: TestStudent4.java
class Student{
int rollno;
String name;
rollno=r;
name=n;
void displayInformation()
{System.out.println(rollno+" "+name);}
class TestStudent4{
s1.insertRecord(111,"Moutusi");
s2.insertRecord(222,"Anewsha");
s1.displayInformation();
s2.displayInformation();
}
As you can see in the above figure, object gets the memory in heap memory area. The
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.
File: TestEmployee.java
class Employee{
int id;
String name;
float salary;
id=i;
name=n;
salary=s;
e1.insert(101,"Ishita",45000);
e2.insert(102,"Kaushik",25000);
e3.insert(103,"Mabud",55000);
e1.display();
e2.display();
e3.display();
File: TestRectangle1.java
class Rectangle{
int length;
int width;
length=l;
width=w;
void calculateArea(){System.out.println(length*width);}
class TestRectangle1{
r1.insert(11,5);
r2.insert(3,15);
r1.calculateArea();
r2.calculateArea();
● By new keyword
● By newInstance() method
● By clone() method
● By deserialization
Anonymous object
Anonymous simply means nameless. An object which has no reference is known as an
anonymous object. It can be used at the time of object creation only.
If you have to use an object only once, an anonymous object is a good approach. For
example:
c.fact(5);
new Calculation().fact(5);
class Calculation{
int fact=1;
for(int i=1;i<=n;i++){
fact=fact*i;
System.out.println("factorial is "+fact);
}
Creating multiple objects by one type only
We can create multiple objects by one type only as we do in case of primitives.
class Rectangle{
int length;
int width;
length=l;
width=w;
void calculateArea(){System.out.println(length*width);}
class TestRectangle2{
r2.insert(3,15);
r1.calculateArea();
r2.calculateArea();
Java Input
Java provides different ways to get input from the user. One of them is using
the object of Scanner class.
java.util.Scanner package.
import java.util.Scanner;
We need to create an object of the Scanner class. We can use the object to
import java.util.Scanner;
input.close();
In the above example, we have created an object named input of the Scanner class.
We then call the nextInt() method of the Scanner class to get an integer input from
the user.
methods to get long, float, double, and string input respectively from the user.
class Account{
int acc_no;
String name;
float amount;
acc_no=a;
name=n;
amount=amt;
//deposit method
amount=amount+amt;
System.out.println(amt+" deposited");
//withdraw method
if(amount<amt){
System.out.println("Insufficient Balance");
}else{
amount=amount-amt;
System.out.println(amt+" withdrawn");
class Main{
a1.insert(832345,"Moutusi",1000);
a1.display();
a1.checkBalance();
a1.deposit(40000);
a1.checkBalance();
a1.withdraw(15000);
a1.checkBalance();
}}
Reading data from console by InputStreamReader and
BufferedReader
In this example, the BufferedReader stream is connected with the InputStreamReader
stream for reading the line by line data from the keyboard.
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {