class Employee {
String empName;
String empId;
String address;
String mailId;
String mobileNo;
public Employee(String empName, String empId, String address, String mailId, String mobileNo) {
[Link] = empName;
[Link] = empId;
[Link] = address;
[Link] = mailId;
[Link] = mobileNo;
// Getters for Employee details
public String getEmpName() { return empName; }
public String getEmpId() { return empId; }
public String getAddress() { return address; }
public String getMailId() { return mailId; }
public String getMobileNo() { return mobileNo; }
public void displayEmployeeDetails() {
[Link]("Employee Name: " + empName);
[Link]("Employee ID: " + empId);
[Link]("Address: " + address);
[Link]("Mail ID: " + mailId);
[Link]("Mobile No: " + mobileNo);
class Programmer extends Employee {
double basicPay;
public Programmer(String empName, String empId, String address, String mailId, String mobileNo, double
basicPay) {
super(empName, empId, address, mailId, mobileNo);
[Link] = basicPay;
public void generatePaySlip() {
double da = 0.97 * basicPay;
double hra = 0.10 * basicPay;
double pf = 0.12 * basicPay;
double staffClubFund = 0.001 * basicPay;
double grossSalary = basicPay + da + hra;
double netSalary = grossSalary - (pf + staffClubFund);
[Link]("\n--- Programmer Pay Slip ---");
displayEmployeeDetails();
[Link]("Basic Pay: " + basicPay);
[Link]("DA (97%): " + da);
[Link]("HRA (10%): " + hra);
[Link]("PF (12%): " + pf);
[Link]("Staff Club Fund (0.1%): " + staffClubFund);
[Link]("Gross Salary: " + grossSalary);
[Link]("Net Salary: " + netSalary);
// Similar classes for AssistantProfessor, AssociateProfessor, and Professor
// with the same structure as Programmer, just changing the class name.
// Example for AssistantProfessor:
class AssistantProfessor extends Employee {
double basicPay;
public AssistantProfessor(String empName, String empId, String address, String mailId, String mobileNo, double
basicPay) {
super(empName, empId, address, mailId, mobileNo);
[Link] = basicPay;
public void generatePaySlip() {
double da = 0.97 * basicPay;
double hra = 0.10 * basicPay;
double pf = 0.12 * basicPay;
double staffClubFund = 0.001 * basicPay;
double grossSalary = basicPay + da + hra;
double netSalary = grossSalary - (pf + staffClubFund);
[Link]("\n--- Assistant Professor Pay Slip ---");
displayEmployeeDetails();
[Link]("Basic Pay: " + basicPay);
[Link]("DA (97%): " + da);
[Link]("HRA (10%): " + hra);
[Link]("PF (12%): " + pf);
[Link]("Staff Club Fund (0.1%): " + staffClubFund);
[Link]("Gross Salary: " + grossSalary);
[Link]("Net Salary: " + netSalary);
public class PaySlipGenerator {
public static void main(String[] args) {
Programmer programmer = new Programmer("Alice Smith", "P001", "123 Main St", "alice@[Link]",
"1234567890", 50000.0);
[Link]();
AssistantProfessor asstProf = new AssistantProfessor("Bob Johnson", "AP001", "456 Oak Ave",
"bob@[Link]", "0987654321", 70000.0);
[Link]();
// Create instances and generate payslips for AssociateProfessor and Professor similarly.