Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

IN JAVA NEED QUICK RESPOSE! WILL GIVE GOOD RAITING! Lab Assignment on Interfaces

ID: 3711804 • Letter: I

Question

IN JAVA

NEED QUICK RESPOSE! WILL GIVE GOOD RAITING!

Lab Assignment on Interfaces and Abstract Classes Create an interface class that contains one procedure - whatAml() that returns a String. Create two abstract classes that implement the interface class and define what whatAml() returns in each case - "I am abstract A/I am abstract B" is acceptable. Create two classes that extend the abstract classes. Their default constructor should print that they are creating an item of that class and then you should add to whatAml) "I am class A" for example. In the drive program you should create a few objects of the class types to see the different behavior. Submit on the server in a directory named IA Lab.

Explanation / Answer

IInterface.java:

public interface IInterface {

public String whatAml();

}

Abstract class - A.java:

public abstract class A implements IInterface{

public String whatAml() {

return "I am from abstract A";

}

}

Abstract Class - B.java:

public abstract class B implements IInterface{

public String whatAml() {

return "I am from abstract A";

}

}

Class ConcreteClassA.java:

public class ConcreteClassA extends A{

ConcreteClassA(){

System.out.println("Creating object of ConcreteClassA");

}

public String whatAml() {

return "I am class A";

}

}

Class ConcreteClassB.java:

public class ConcreteClassB extends B{

ConcreteClassB(){

System.out.println("Creating object of ConcreteClassB");

}

public String whatAml() {

return "I am class B";

}

}

Driver Class - MyApp.java:

public class MyApp {

public static void main(String[] args) {

// TODO Auto-generated method stub

IInterface obj1 = new ConcreteClassA();

IInterface obj2 = new ConcreteClassB();

A obj3 = new ConcreteClassA();

B obj4 = new ConcreteClassB();

System.out.println(obj1.whatAml());

System.out.println(obj2.whatAml());

System.out.println(obj3.whatAml());

System.out.println(obj4.whatAml());

}

}

Output:

Creating object of ConcreteClassA
Creating object of ConcreteClassB
Creating object of ConcreteClassA
Creating object of ConcreteClassB
I am class A
I am class B
I am class A
I am class