/* Problem 1*/ class SuperClass { public void method(String s) { System.out.print(s); } } class Subclass extends Superclass { public void method(s) { System.out.println(s); System.out.println(s); } } class TestClass { private Superclass createSuperClassObject(String s) { if (s=="Somnath") { return new SubClass() } else { return new SuperClass() } } public void testing(String s) { Superclass sp=createSuperClassObject(s); sp.method("test") } } /* Problem 2*/ class SalesPerson { private int accountNo; private int item; public SalesPerson(int accountNo, int item) { this.accountNo=accountNo; this.item=item; } public int getAccountNo() { return(accountNo); } public int getItem() { return(item); } public void setAccountNo(int accountNo) { this.accountNo=accountNo; } public void setItem(int item) { this.item=item; } public int computePayment() { return (10*item); } } class RuralSalesPerson extends SalesPerson { private int kiloMeter; public RuralSalesPerson(int accountNo, int item, int kiloMeter) { super(accountNo, item); this.kiloMeter= kiloMeter; } public int computePayment() { return(10 * getItem() + (3 * kiloMeter)); } public int getKilometer() { return(kiloMeter); } public void setKilometer(int kiloMeter) { this.kiloMeter=kiloMeter; } } class SalesUtils { public static void transferAmt(SalesPerson[] arr) { for(SalesPerson i:arr) { BankUtils.transfer(i.getAccountNo() , i.computePayment()); } } }