Mastering Java Abstract Classes and Interfaces
Posted on Apr 1, 2026 in State Administration
1. Abstract Classes in Java
abstract class Student {
int rollNo;
long regNo;
void getInput(int r, long reg) {
rollNo = r;
regNo = reg;
}
abstract void course();
}
class Kiitian extends Student {
void course() {
System.out.println("Course - B.Tech. (Computer Science & Engg)");
}
void display() {
System.out.println("Roll No - " + rollNo);
System.out.println("Registration No - " + regNo);
course();
}
}
public class Main {
public static void main(String[] args) {
Kiitian k = new Kiitian();
k.getInput(24158046, 1234567899L);
k.display();
}
}
2. Implementing Java Interfaces
interface Motor {
int capacity = 5;
void run();
void consume();
}
class WashingMachine implements Motor {
public void run() {
System.out.println("Motor is running");
}
public void consume() {
System.out.println("Motor is consuming power");
}
void showCapacity() {
System.out.println("Capacity of the motor is " + capacity);
}
}
public class Main {
public static void main(String[] args) {
WashingMachine wm = new WashingMachine();
wm.showCapacity();
}
}
3. Salary Calculation with Interfaces
import java.util.Scanner;
interface Salary {
void earnings();
void deductions();
void bonus();
}
abstract class Manager implements Salary {
double basic;
Manager(double basic) {
this.basic = basic;
}
public void earnings() {
double da = 0.80 * basic;
double hra = 0.15 * basic;
double total = basic + da + hra;
System.out.println("Earnings - " + (int) total);
}
public void deductions() {
double pf = 0.12 * basic;
System.out.println("Deduction - " + (int) pf);
}
}
class Substaff extends Manager {
Substaff(double basic) {
super(basic);
}
public void bonus() {
double bonus = 0.50 * basic;
System.out.println("Bonus - " + (int) bonus);
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double basic = sc.nextDouble();
Substaff s = new Substaff(basic);
s.earnings();
s.deductions();
s.bonus();
}
}
4. Interface Inheritance Example
import java.util.Scanner;
interface Employee {
void getDetails();
}
interface Manager extends Employee {
void getDeptDetails();
}
class Head implements Manager {
int empId;
String empName;
int deptId;
String deptName;
Scanner sc = new Scanner(System.in);
public void getDetails() {
System.out.print("Enter employee id - ");
empId = sc.nextInt();
sc.nextLine();
System.out.print("Enter employee name - ");
empName = sc.nextLine();
}
public void getDeptDetails() {
System.out.print("Enter department id - ");
deptId = sc.nextInt();
sc.nextLine();
System.out.print("Enter department name - ");
deptName = sc.nextLine();
}
void display() {
System.out.println("Employee id - " + empId);
System.out.println("Employee name - " + empName);
System.out.println("Department id - " + deptId);
System.out.println("Department name - " + deptName);
}
}
public class Main {
public static void main(String[] args) {
Head h = new Head();
h.getDetails();
h.getDeptDetails();
h.display();
}
}