VISVESVARAYA TECHNOLOGICAL UNIVERSITY
Jnana Sangama, Belagavi-590018, Karnataka
Virtual Lab Report
On
Object Oriented Programming In Java (BCS306A)
Submitted by:
Likith K S – 1BI24IS083
Under the Guidance
of Prof. Vedasree T
K Associate Professor
Dept. of ISE, BIT
DEPARTMENT OF INFORMATION SCIENCE & ENGINEERING
BANGALORE INSTITUTE OF TECHNOLOGY
An Autonomous Institution under VTU
V.V. Puram, K.R. Road, Bengaluru-560004
2025-2026
Java virtual lab
To Understand Inheritance in Java:
Pretest
Posttest
Dept. of ISE, Page 3
BIT
Java virtual lab
Simulation:
Summary:
This virtual lab focuses on understanding how inheritance enables code reusability and
hierarchical relationships between classes in Java. By using the ‘extends’ keyword, a subclass
can acquire the properties and behaviors of a superclass, demonstrating the Is-A relationship.
The lab helps learners observe how inherited methods and variables can be accessed,
overridden, or extended, reinforcing the concept of object-oriented design and reducing
redundancy in code.
Dept. of ISE, Page 4
BIT
Java virtual lab
Implementing Method Overloading:
Pretest
Posttest
Dept. of ISE, Page 5
BIT
Java virtual lab
Simulation:
Summary:
This lab explains method overloading by allowing multiple methods with the same name to
exist in a class, differentiated by their parameter lists. Learners experiment with varying the
number and types of parameters to understand compile-time polymorphism. The lab
emphasizes how overloading improves code readability and flexibility by enabling similar
operations to be performed with different inputs.
Dept. of ISE, Page 6
BIT
Java virtual lab
Implementing Method Overriding:
Pretest
Dept. of ISE, Page 7
BIT
Java virtual lab
Posttest
Summary:
The method overriding lab demonstrates runtime polymorphism, where a subclass provides its
own implementation of a method defined in its superclass. By using the same method
signature, students learn how Java resolves method calls dynamically based on the object type
at runtime. This lab highlights the importance of inheritance in enabling specialized behavior
while maintaining a common interface.
Dept. of ISE, Page 8
BIT
Java virtual lab
Learning Abstraction through Interface:
Pretest
Dept. of ISE, Page 9
BIT
Java virtual lab
Posttest
Summary:
This lab introduces abstraction using interfaces, which define method declarations without
implementations. Learners understand how interfaces enforce a contract that implementing
classes must follow, promoting loose coupling and modular design. The lab showcases how
multiple inheritance of behavior is achieved in Java using interfaces, enhancing flexibility and
scalability in application development.
Dept. of ISE, Page 10
BIT
Java virtual lab
Conclusion:
The Java Virtual Laboratory effectively bridges the gap between theoretical knowledge and
practical application of object-oriented programming concepts. Through structured exercises on
inheritance, method overloading, method overriding, and abstraction using interfaces, learners
gain a deeper understanding of how Java supports code reusability, modularity, and dynamic
behavior in software systems. These hands-on experiments strengthen logical thinking and
reinforce the fundamental principles required for developing efficient and reliable programs.
Moreover, the virtual lab environment promotes an engineering-oriented approach by allowing
students to analyze, design, and implement solutions in a systematic manner. By practicing
these core concepts in a controlled setting, learners become better equipped to handle complex
software problems and follow professional programming standards. Overall, this virtual
laboratory experience enhances both conceptual clarity and practical skill, preparing students
for real-world software development and advanced engineering applications.
Finally, the Java Virtual Laboratory strengthens understanding of object-oriented programming
through hands-on practice.
It helps students apply concepts like inheritance, abstraction, and polymorphism effectively.
The lab improves problem-solving and program design skills.
It encourages writing modular, reusable, and well-structured code.
Overall, it prepares learners for real-world software engineering challenges.
Signature of Faculty:
Dept. of ISE, Page 11
BIT
Java virtual lab
Dept. of ISE, Page 12
BIT