Expected Understanding: Abstraction, Inheritance, return keyword, Method Arguments, Constructor
1) Create an abstract class named ‘SmartPhone’
– Add the below abstract methods
– int call(int seconds)
– void sendMessage()
– void receiveCall()
– Add non abstract method void browse()
– print ‘SmartPhone browsing’ inside browse() method definition
– Have constructor as below.
public SmartPhone()
{
System.out.println(“Smartphone under development”);
}
package payilagam.institute;
public abstract class Smartphone
{
public abstract int call(int seconds);
public abstract void sendMessage();
public abstract void receiveCall();
public void browse()
{
System.out.println("browser");
}
public Smartphone()
{
System.out.println("smartphone under development");
}
}
2) Create class called ‘FactoryDemo’ as abstract subclass of SmartPhone
– Add the below abstract methods
– void verifyFingerPrint()
– void providePattern()
– Add non abstract method void browse()
– print ‘Factory Demo browsing’ inside browse() method definition
– Add variable boolean isOriginalPiece and assign ‘false’ as value.
– Add static variable int price and set value as 0.
package payilagam.institude;
public abstract class FactoryDemo extends Smartphone
{
boolean OriginalPiece = false;
static int price = 0;
public abstract void verifyFingerPrint();
public abstract void providePattern();
public void browse()
{
System.out.println(“Factory demo browsing”);
}
}
3) Create class called ‘Samsung’ with main method as sub class of FactoryDemo.
– Add unimplemented methods
– Add static variable int price and set value as 5000.
– Create instance for Samsung class called sam
– Access browse() method using sam instance.
– Access price variable using sam instance.
– Observe which method is called and note down.
package payilagam.institude;
public class Samsung extends FactoryDemo {
static int price = 5000;
public static void main(String[] args) {
Samsung sam = new Samsung();
sam.browse();
System.out.println(sam.price);
}
public void verifyFingerPrint()
{
}
public void providePattern()
{
}
public int call(int seconds)
{
return 0;
}
public void sendMessage()
{
}
public void receiveCall()
{
}
}
