Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
17 views

Objects and Classes in Java

Uploaded by

Irfan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Objects and Classes in Java

Uploaded by

Irfan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Objects and Classes in Java

In object-oriented programming technique, we design a program using objects and


classes.

An object in Java is the physical as well as a logical entity, whereas, a class in Java is a
logical entity only.

What is an object in Java

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.

An object has three characteristics:

● State: represents the data (value) of an object.


● Behavior: represents the behavior (functionality) of an object such as deposit,
withdraw, etc.

● 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.

An object is an instance of a class. A class is a template or blueprint from which


objects are created. So, an object is the instance(result) of a class.

Object Definitions:
● An object is a real-world entity.

● An object is a runtime entity.

● The object is an entity which has state and behavior.

● The object is an instance of a class.

What is a class in Java


A class is a group of objects which have common properties. It is a template or
blueprint from which objects are created. It is a logical entity. It can't be physical.

A class in Java can contain:

● Fields

● Methods

● Constructors

● Blocks

● Nested class and interface


Syntax to declare a class:

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

new keyword in Java


The new keyword is used to allocate memory at runtime. All objects get memory in the
Heap memory area.

Object and Class Example: main within the class


Let us create a Student class which has two data members id and name. We are
creating the object of the Student class by new keyword and printing the object's value.

Here, we are creating a main() method inside the class.

//Java Program to illustrate how to define a class and fields


//Defining a Student class.

class Student{

//defining fields

int id;//field or data member or instance variable

String name;

//creating main method inside the Student class

public static void main(String args[]){

//Creating an object or instance

Student s1=new Student();//creating an object of Student

//Printing values of the object

System.out.println(s1.id);//accessing member through reference variable

System.out.println(s1.name);

Object and Class Example: main outside the class


In real time development, we create classes and use it from another class. It is a better
approach than the previous one. Let's see a simple example, where we are having the
main() method in another class.

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

//Java Program to demonstrate having the main method in


//another class

//Creating Student class.

class Student{

int id;

String name;

//Creating another class TestStudent1 which contains the main method

class TestStudent1{

public static void main(String args[]){

Student s1=new Student();

System.out.println(s1.id);

System.out.println(s1.name);

3 Ways to initialize object


There are 3 ways to initialize objects in Java.

1. By reference variable

2. By method

3. By constructor

1) Object and Class Example: Initialization through reference


Initializing an object means storing data into the object. Let's see a simple example
where we are going to initialize the objects through a reference variable.

File: Main.java

//Java Program to demonstrate having the main method in

//another class

//Creating Student class.

class Student{

int id;

String name;

//Creating another class TestStudent1 which contains the main method

class Main{

public static void main(String args[]){

Student s1=new Student();

Student s2=new Student();

s1.id=101;

s1.name="Sneha";

s2.id=102;

s2.name="Sudeshna";

System.out.println(s1.id+" "+s1.name);//printing members with a white space

System.out.println(s2.id+" "+s2.name);//printing members with a white space

}
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{

public static void main(String args[]){

//Creating objects

Student s1=new Student();

Student s2=new Student();

//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;

void insertRecord(int r, String n){

rollno=r;

name=n;

void displayInformation()

{System.out.println(rollno+" "+name);}

class TestStudent4{

public static void main(String args[]){

Student s1=new Student();

Student s2=new Student();

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.

3) Object and Class Example: Initialization through a


constructor
We will learn about constructors in Java later.

Object and Class Example: Employee


Let's see an example where we are maintaining records of employees.

File: TestEmployee.java

class Employee{

int id;

String name;

float salary;

void insert(int i, String n, float s) {

id=i;

name=n;

salary=s;

void display(){System.out.println(id+" "+name+" "+salary);}


}

public class TestEmployee {

public static void main(String[] args) {

Employee e1=new Employee();

Employee e2=new Employee();

Employee e3=new Employee();

e1.insert(101,"Ishita",45000);

e2.insert(102,"Kaushik",25000);

e3.insert(103,"Mabud",55000);

e1.display();

e2.display();

e3.display();

Object and Class Example: Rectangle


There is given another example that maintains the records of Rectangle class.

File: TestRectangle1.java

class Rectangle{

int length;

int width;

void insert(int l, int w){

length=l;
width=w;

void calculateArea(){System.out.println(length*width);}

class TestRectangle1{

public static void main(String args[]){

Rectangle r1=new Rectangle();

Rectangle r2=new Rectangle();

r1.insert(11,5);

r2.insert(3,15);

r1.calculateArea();

r2.calculateArea();

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 deserialization

● By factory method etc.

We will learn these ways to create object later.

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:

new Calculation();//anonymous object

Calling method through a reference:

Calculation c=new Calculation();

c.fact(5);

Calling method through an anonymous object

new Calculation().fact(5);

Let's see the full example of an anonymous object in Java.

class Calculation{

void fact(int n){

int fact=1;

for(int i=1;i<=n;i++){

fact=fact*i;

System.out.println("factorial is "+fact);

public static void main(String args[]){

new Calculation().fact(5);//calling method with anonymous object

}
Creating multiple objects by one type only
We can create multiple objects by one type only as we do in case of primitives.

Initialization of primitive variables:

int a=10, b=20;

Initialization of refernce variables:

Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects

Let's see the example:

//Java Program to illustrate the use of Rectangle class which

//has length and width data members

class Rectangle{

int length;

int width;

void insert(int l,int w){

length=l;

width=w;

void calculateArea(){System.out.println(length*width);}

class TestRectangle2{

public static void main(String args[]){

Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects


r1.insert(11,5);

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.

In order to use the object of Scanner, we need to import

java.util.Scanner package.

import java.util.Scanner;

We need to create an object of the Scanner class. We can use the object to

take input from the user.

import java.util.Scanner;

public class Main {


public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter an integer: ");

int number = input.nextInt();

System.out.println("You entered " + number);

// Getting float input

System.out.print("Enter float: ");

float myFloat = input.nextFloat();

System.out.println("Float entered = " + myFloat);

// Getting double input

System.out.print("Enter double: ");

double myDouble = input.nextDouble();

System.out.println("Double entered = " + myDouble);

// Getting String input


System.out.print("Enter text: ");

String myString = input.next();

System.out.println("Text entered = " + myString);

// closing the scanner object

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.

Similarly, we can use nextLong(), nextFloat(), nextDouble(), and next()

methods to get long, float, double, and string input respectively from the user.

Real World Example: Account


File: Main.java

//Java Program to demonstrate the working of a banking-system

//where we deposit and withdraw amount from our account.


//Creating an Account class which has deposit() and withdraw() methods

class Account{

int acc_no;

String name;

float amount;

//Method to initialize object

void insert(int a,String n,float amt){

acc_no=a;

name=n;

amount=amt;

//deposit method

void deposit(float amt){

amount=amount+amt;

System.out.println(amt+" deposited");

//withdraw method

void withdraw(float amt){

if(amount<amt){

System.out.println("Insufficient Balance");

}else{
amount=amount-amt;

System.out.println(amt+" withdrawn");

//method to check the balance of the account

void checkBalance(){System.out.println("Balance is: "+amount);}

//method to display the values of an object

void display(){System.out.println(acc_no+" "+name+" "+amount);}

//Creating a test class to deposit and withdraw amount

class Main{

public static void main(String[] args){

Account a1=new Account();

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 {

InputStreamReader r=new InputStreamReader(System.in);

BufferedReader bufferedreader = new BufferedReader(r);

System.out.println("Enter your name");


String name = bufferedreader.readLine();
System.out.println("Enter your age");
int age = Integer.parseInt(bufferedreader.readLine());

System.out.println("I am " + name + " " +age+" years old");


}
}

You might also like