Q)Write a Java program in which, the following things are implemented.
1.)Method overriding
2.)Super class reference referencing the sub class object.
3.)call the overriding method using super class reference.
//DynmicMethodDispatch.java
import java.util.Scanner;
class Vehicle{
void move(){
System.out.println("transport service");
}//overridden method
}//super class
class Car extends Vehicle{
void move(){
System.out.println("Very good transport service");
}//overriding method
}//Sub class
class Zeep extends Vehicle{
void move(){
System.out.println("good transport service");
}//overriding method
}//Sub class
class DynamicMethodDispatch{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Which Vehicle do you want(zeep/car)?");
String choice=scanner.next();
Vehicle v; //super class reference
if (choice.equals("zeep")){
v=new Zeep();//super class reference referencing the sub class object
}
else{
v=new Car();//super class reference referencing the sub class object
}
v.move();
}//main
}
Q)What is the output of the following Java program?
//DynamicMethodDispatch2.java
class Vehicle{
void move(){
System.out.println("transport service");
}
}
class Car extends Vehicle{
void go(){
System.out.println("very good transport service");
}
}
class DynamicMethodDispatch{
public static void main(String[] args){
Vehicle v=new Car();
v.go();
}
}
1.)Method overriding
2.)Super class reference referencing the sub class object.
3.)call the overriding method using super class reference.
//DynmicMethodDispatch.java
import java.util.Scanner;
class Vehicle{
void move(){
System.out.println("transport service");
}//overridden method
}//super class
class Car extends Vehicle{
void move(){
System.out.println("Very good transport service");
}//overriding method
}//Sub class
class Zeep extends Vehicle{
void move(){
System.out.println("good transport service");
}//overriding method
}//Sub class
class DynamicMethodDispatch{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Which Vehicle do you want(zeep/car)?");
String choice=scanner.next();
Vehicle v; //super class reference
if (choice.equals("zeep")){
v=new Zeep();//super class reference referencing the sub class object
}
else{
v=new Car();//super class reference referencing the sub class object
}
v.move();
}//main
}
Q)What is the output of the following Java program?
//DynamicMethodDispatch2.java
class Vehicle{
void move(){
System.out.println("transport service");
}
}
class Car extends Vehicle{
void go(){
System.out.println("very good transport service");
}
}
class DynamicMethodDispatch{
public static void main(String[] args){
Vehicle v=new Car();
v.go();
}
}