3.1 Objects and Classes in Java 12
3.1 Objects and Classes in Java 12
1. Object in Java
2. Class in Java
4. Method 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.
Object Definitions:
o Fields
o Methods
o Constructors
o Blocks
o Nested class and interface
Syntax to declare a class:
1. class <class_name>{
2. field;
3. method;
4. }
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
A method is like a function which is used to expose the behavior of an object.
Advantage of Method
o Code Reusability
o Code Optimization
File: Student.java
1. //Java Program to illustrate how to define a class and fields
2. //Defining a Student class.
3. class Student{
4. int id=5;
5. String name="ramesh";
6. //creating main method inside the Student class
7. public static void main(String args[]) {
8. Student s1=new Student(); //creating an object of Student
9.
10. System.out.println(s1.id); //accessing member through reference variable
11. System.out.println(s1.name);
14. }
15. }
Test it Now
Output:
5
Ramesh
0
null
1. By reference variable
2. By method
3. By constructor
1) By reference variable
Initializing an object means storing data into the object. Let's see a simple example
where we are going to initialize the object through a reference variable
1. class Student{
2. int id;
3. String name;
5. public static void main(String args[]){
6. Student s1=new Student();
8. s1.id=101;
9. s1.name="Sonoo";
10. System.out.println(s1.id+" "+s1.name);//printing members with a white space
11. }
12. }
Test it Now
Output:
101 Sonoo
We can also create multiple objects and store information in it through reference
variable.
1. class Student{
2. int id;
3. String name;
4.
5. public static void main(String args[]){
6. //Creating objects
7. Student s1=new Student();
8. Student s2=new Student();
9. //Initializing objects
11. s1.id=101;
12. s1.name="Rojina";
13. s 2 . i d = 1 0 2 ;
14. s2.name="Amit";
15. //Printing data
16. System.out.println(s1.id+" "+s1.name);
17. System.out.println(s2.id+" "+s2.name);
18. }
19. }
Test it Now
Output:
101 Sonoo
102 Amit
1. class Student{
2. int rollno;
3. String name;
4. void get(int r, String n) {
5. rollno=r;
6. name=n;
7. }
8. void show()
{ System.out.println(rollno+" "+name); }
Output:
111 Karan
222 Aryan
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
1. class Employee{
2. int id;
3. String name;
4. float salary;
5. void insert(int i, String n, float s) {
6. id=i;
name=n;
7. salary=s;
9. }
10. void display()
11. {System.out.println(id+" "+name+" "+salary);}
11. }
12. public static void main(String[] args) {
13. Employee e1=new Employee();
14. Employee e2=new Employee();
15. Employee e3=new Employee();
17. e1.insert(101,"ajeet",45000);
18. e2.insert(102,"irfan",25000);
19. e3.insert(103,"nakul",55000);
20. e1.display();
21. e2.display();
22. e3.display();
23. }
24. }
Test it Now
Output:
File: TestRectangle1.java
1. class Rectangle{
2. int length;
3. int width;
4. void insert (int l, int w){
5. length=l;
6. width=w;
7. }
8. void Area()
{System.out.println(length*width);}
10. public static void main(String args[]){
11. Rectangle r1=new Rectangle();
12. Rectangle r2=new Rectangle();
14. r1.insert(11,5);
15. r2.insert(3,15);
16. r1.Area();
17. r2.Area();
18. }
19. }
Test it Now
Output:
55
45
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:
1. new Calculation().fact(5);
1. class Calculation{
2. void fact(int n){
3. int fact=1;
4. for(int i=1;i<=n;i++){
5. fact=fact*i;
6. }
7. System.out.println("factorial is "+fact);
8. }
9. public static void main(String args[]){
10. new Calculation().fact(5);//calling method with anonymous object
11. }
12. }
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.
Output:
55
45
Output: