1. 1.
Static method to calculate area of a circle
public class CircleArea {
public static double calculateArea(double radius) {
return Math.PI * radius * radius;
}
public static void main(String[] args) {
System.out.println("Area: " + calculateArea(5));
}
}
2. 2. Final method in superclass and attempt to override
class Parent {
public final void display() {
System.out.println("Final method in Parent");
}
}
class Child extends Parent {
// Uncommenting below will cause a compile-time error
// public void display() {
// System.out.println("Trying to override");
// }
}
3. 3. Final variable initialized in constructor
public class FinalVariable {
final int value;
public FinalVariable(int val) {
value = val;
}
public void show() {
System.out.println("Value: " + value);
}
public static void main(String[] args) {
FinalVariable obj = new FinalVariable(10);
obj.show();
}
}
4. 4. Static block for class initialization
public class StaticBlockExample {
static {
System.out.println("Static block called before main");
}
public static void main(String[] args) {
System.out.println("Main method executed");
}
}
5. 5. Static variable shared among instances
public class StaticVariableDemo {
static int count = 0;
public StaticVariableDemo() {
count++;
}
public static void main(String[] args) {
new StaticVariableDemo();
new StaticVariableDemo();
System.out.println("Count: " + count);
}
}
6. 6. Employee and Manager inheritance
class Employee {
String name;
double salary;
Employee(String name, double salary) {
this.name = name;
this.salary = salary;
}
}
class Manager extends Employee {
double bonus;
Manager(String name, double salary, double bonus) {
super(name, salary);
this.bonus = bonus;
}
public void display() {
System.out.println("Name: " + name + ", Total Salary: " + (salary + bonus));
}
}
7. 7. Constructor chaining with super()
class A {
A() {
System.out.println("Constructor A");
}
}
class B extends A {
B() {
super();
System.out.println("Constructor B");
}
public static void main(String[] args) {
B obj = new B();
}
}
8. 8. Dog overrides Animal
class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
public void sound() {
System.out.println("Dog barks");
}
public static void main(String[] args) {
Dog d = new Dog();
d.sound();
}
}
9. 9. Multiple interfaces in HybridVehicle
interface Engine {
void startEngine();
}
interface Battery {
void chargeBattery();
}
class HybridVehicle implements Engine, Battery {
public void startEngine() {
System.out.println("Engine started");
}
public void chargeBattery() {
System.out.println("Battery charging");
}
public static void main(String[] args) {
HybridVehicle hv = new HybridVehicle();
hv.startEngine();
hv.chargeBattery();
}
}
10. 10. Multi-level inheritance
class A {
void greet() {
System.out.println("Hello from A");
}
}
class B extends A {}
class C extends B {}
public class Test {
public static void main(String[] args) {
C obj = new C();
obj.greet();
}
}
11. 11. BankAccount encapsulation
public class BankAccount {
private int accountNumber;
private double balance;
public int getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(int number) {
accountNumber = number;
}
public double getBalance() {
return balance;
}
public void setBalance(double amount) {
balance = amount;
}
}
12. 12. Student with encapsulation
public class Student {
private int rollNumber;
private String name;
private String grade;
public void setData(int r, String n, String g) {
rollNumber = r;
name = n;
grade = g;
}
public void display() {
System.out.println("Roll: " + rollNumber + ", Name: " + name + ", Grade: " +
grade);
}
public static void main(String[] args) {
Student s = new Student();
s.setData(101, "Ravi", "A");
s.display();
}
}
13. 13. Method overloading
public class OverloadExample {
void display(int a) {
System.out.println("Integer: " + a);
}
void display(String b) {
System.out.println("String: " + b);
}
public static void main(String[] args) {
OverloadExample obj = new OverloadExample();
obj.display(10);
obj.display("Hello");
}
}
14. 14. Override area() in Circle and Rectangle
class Shape {
double area() {
return 0;
}
}
class Circle extends Shape {
double radius = 5;
double area() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
double length = 4, breadth = 5;
double area() {
return length * breadth;
}
}
15. 15. Dynamic method dispatch
class Parent {
void show() {
System.out.println("Parent");
}
}
class Child extends Parent {
void show() {
System.out.println("Child");
}
public static void main(String[] args) {
Parent ref = new Child();
ref.show();
}
}
16. 16. Varargs sum
public class VarargsSum {
static void sum(int... numbers) {
int total = 0;
for (int n : numbers)
total += n;
System.out.println("Sum: " + total);
}
public static void main(String[] args) {
sum(1, 2, 3, 4, 5);
}
}
17. 17. Max from varargs
public class MaxVarargs {
static double max(double... values) {
double max = Double.MIN_VALUE;
for (double v : values) {
if (v > max) max = v;
}
return max;
}
public static void main(String[] args) {
System.out.println("Max: " + max(1.2, 3.4, 5.6));
}
}
18. 18. Name with multiple phone numbers
public class Contact {
void printContact(String name, String... phones) {
System.out.println("Name: " + name);
for (String p : phones)
System.out.println("Phone: " + p);
}
public static void main(String[] args) {
new Contact().printContact("Amit", "123", "456", "789");
}
}
19. 19. Print even numbers from array
public class EvenNumbers {
public static void main(String[] args) {
int[] arr = {2, 5, 8, 11, 14, 17, 20, 23, 26, 29};
for (int num : arr) {
if (num % 2 == 0)
System.out.println(num);
}
}
}
20. 20. Average of array
public class ArrayAverage {
static double average(int[] arr) {
int sum = 0;
for (int num : arr) sum += num;
return (double) sum / arr.length;
}
public static void main(String[] args) {
int[] data = {10, 20, 30, 40, 50};
System.out.println("Average: " + average(data));
}
}
21. 21. Transpose of 3x3 matrix
public class MatrixTranspose {
public static void main(String[] args) {
int[][] matrix = {
{1,2,3},
{4,5,6},
{7,8,9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(matrix[j][i] + " ");
}
System.out.println();
}
}
}
22. 22. Add two 2x2 matrices
public class MatrixAddition {
public static void main(String[] args) {
int[][] a = {{1, 2}, {3, 4}};
int[][] b = {{5, 6}, {7, 8}};
int[][] c = new int[2][2];
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
c[i][j] = a[i][j] + b[i][j];
for (int[] row : c) {
for (int n : row)
System.out.print(n + " ");
System.out.println();
}
}
}
23. 23. Jagged array
public class JaggedArray {
public static void main(String[] args) {
int[][] jagged = new int[3][];
jagged[0] = new int[]{1, 2};
jagged[1] = new int[]{3, 4, 5};
jagged[2] = new int[]{6};
for (int[] row : jagged) {
for (int n : row)
System.out.print(n + " ");
System.out.println();
}
}
}
24. 24. finalize() method
public class FinalizeDemo {
protected void finalize() {
System.out.println("finalize() called");
}
public static void main(String[] args) {
FinalizeDemo obj = new FinalizeDemo();
obj = null;
System.gc(); // Suggest GC
}
}
25. 25. System.gc() and finalize observation
public class Temp {
protected void finalize() {
System.out.println("finalize() called for Temp");
}
public static void main(String[] args) {
Temp t = new Temp();
t = null;
System.gc();
System.out.println("End of main");
}
}