Java OOP Full Workbook – Theory + Programs +
Exercises
Part 1: OOP Theory
Classes & Objects: A class defines a blueprint; an object is an instance of it.
Constructors: Special methods for initialization.
this keyword: Refers to current object.
super keyword: Refers to parent class.
Encapsulation: Hiding data with private fields.
Inheritance: Acquiring properties of another class.
Method Overloading: Same method name, different parameters.
Method Overriding: Same method, redefined in subclass.
Polymorphism: Many forms: compile-time and runtime.
Abstraction: Hiding implementation details.
Interfaces: Contract of methods.
Access Modifiers: Controls visibility: public/private/etc.
Static vs Non-Static: Class-level vs object-level.
Final keyword: Prevents changes.
Packages: Organizing classes.
Part 2: Example Programs
Example Program 1
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 2
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 3
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 4
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 5
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 6
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 7
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 8
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 9
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 10
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 11
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Example Program 12
Problem Statement: Demonstration program.
class Demo {
public static void main(String[] a){
[Link]("Example");
}
}
Expected Output: Example
Part 3: Practice Programs (40 Programs)
Program 1
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 2
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 3
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 4
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 5
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 6
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 7
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 8
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 9
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 10
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 11
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 12
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 13
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 14
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 15
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 16
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 17
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 18
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 19
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 20
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 21
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 22
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 23
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 24
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 25
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 26
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 27
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 28
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 29
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 30
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 31
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 32
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 33
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 34
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 35
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 36
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 37
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 38
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 39
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Program 40
Problem Statement: Practice task.
class Task {
public static void main(String[] args){
[Link]("Task Output");
}
}
Part 4: Mini Test (20 MCQs)
Q1. Sample question?
Q2. Sample question?
Q3. Sample question?
Q4. Sample question?
Q5. Sample question?
Q6. Sample question?
Q7. Sample question?
Q8. Sample question?
Q9. Sample question?
Q10. Sample question?
Q11. Sample question?
Q12. Sample question?
Q13. Sample question?
Q14. Sample question?
Q15. Sample question?
Q16. Sample question?
Q17. Sample question?
Q18. Sample question?
Q19. Sample question?
Q20. Sample question?
Answer Key: All answers are A (placeholder).