practice program java:

Scenario #4:

Expected Understanding: Abstraction, Inheritance, Dynamic Binding, Polymorphism (Overriding), Constructor Overloading

1) Create an abstract class called ‘India’
– Have below abstract methods
– void speakLanguage()
– void eat()
– void dress()
– Have static variable String capital = “New Delhi”
– Have below Constructor
public India(String primeMinister)
{
System.out.println(“our Prime Minister is” + primeMinister);
}

package payilagam.institute;

public abstract class India 
{
	static String capital = "new delhi";


public India(String PrimeMinister)
{
		System.out.println("our prime Minister is "+ PrimeMinister);
}		
public abstract void speaklanguage();
public abstract void eat();
public abstract void dress();

}

2) Create an abstract class called ‘SouthIndia’
– Make this class as sub class of ‘India’
– Add below non abstract methods
– void cultivate()
– Print ‘Rice and Wheat cultivation’ inside this method
– void livingStyle()
– Print ‘Average development’ inside this method

package payilagam.institute;

public abstract class SouthIndia extends India
{
	public SouthIndia()
	{
		super("mathesh");
	}
public void cultivate()
{
	System.out.println("Rice and  wheat cultivation");
}
public void livingstyle()
{
	System.out.println("Average development");
}
}

3) Create a class called ‘TamilNadu’ with main method as sub class of ‘South India’.
– Add unimplemented methods
– Provide your own definitions wherever necessary.
– Have static variable String capital = “Chennai”
– Add below non abstract methods
– void cultivate()
– Print ‘Rice and Sugar cane cultivation’ inside this method
– void livingStyle()
– Print ‘Above Average development’ inside this method
– Using class name “India” – access variable ‘capital’ and print the value
– Using class name “TamilNadu” – access variable ‘capital’ and print the value.
– Create instance for “SouthIndia” as below
SouthIndia si = new TamilNadu()
– Observe which methods and variables can be accessed using ‘si’ and note down.

package payilagam.institute;

public class TamilNadu extends SouthIndia
{
static String capital = "Chennai";

public TamilNadu ()
{
	super();
}
public  void speaklanguage()
{
	System.out.println("Speak");
}
public void eat()
{
	System.out.println("eat");
}
public  void dress()
{
	System.out.println("dress");
}

	public static void main(String[] args)
	{
		TamilNadu si = new TamilNadu();
		System.out.println(India.capital);
		System.out.println(TamilNadu.capital);
				

	}
public void cultivate()
{
	System.out.println("Rice and sugar cane cultivate");
}
public void livingStyle()
{
	System.out.println("Above average development");
}
}

Leave a Comment