Skip to main content

Q) Explain program on abstract modifier usage?




A)
//AbstractExample.java

import java.util.Scanner;
/*1*/ abstract class vehicle5
{
       private int wheel;
       vehicle5()
       {
              System.out.println("Some vehicles instanciated");
              wheel=4;
       }
       void start()
       {
              System.out.println("Every vehicle starts like this");
       }
/*2*/  abstract void move();
}
class car6 extends vehicle5
{
/*3*/  void move()
       {
              System.out.println("Exellent transportation");
       }
}
class zeep extends vehicle5
{
/*3*/  void move()
       {
              System.out.println("Good transportation");
       }
}
class AbstractExample {

       public static void main(String[] args) {
/*4*/         vehicle5 v;
              Scanner s = new Scanner(System.in);
              System.out.println("What vehicle you want car/zeep");
              String choice=s.next();
              if(choice.equals("car"))
/*5*/                v=new car6();
/*6*/         /*if(choice.equals("zeep"))
                     v=new zeep();*/ //error
              else
/*5*/                v=new zeep();
              v.move();
       }
}

Output:

Example1:
What vehicle you want car/zeep
car
Some vehicles instanciated
Exellent transportation

Example2:
What vehicle you want car/zeep
zeep
Some vehicles instanciated
Good transportation

Explanation of the above program:
1)      The abstract class is defined it contain its constructor. That is called by child class constructor only.
2)      The abstract class method is declared(i.e. move())
3)      The both car and zeep classes the move() method is implemented as overridden method.
4)      The vehicle class reference is created but its object is not created. Because abstract class should not created its object. But it holds its children class object addresses.
5)      Vehicle class/ abstract class reference is holding the its children object addresses.
6)      Error is raised, because if we check both with “if” conditions the compiler raised error when enter other than 2 class object so that’s why it raised.

->Even though the parent class reference is holding the object of children class, but that vehicle reference should not call own method of child class. Only the overridden methods only called by the parent class reference.

Ex:

abstract class vehicle {
       {
              void move();
       }
class car extends vehicle
{
       void move()
       {
              System.out.println("");
       }
       void fly()
       {
             
       }
}
class example
{
       public static void main(String[] args) {
              vehicle v;
              v=new car();
              v.move();//ok. The overridden methods should call by the parent reference.
              v.fly();//error. Because super class reference doesn't call the child's own methods.
       }
}

Comments

Popular posts from this blog

Q) Explain repeated deletion of records.

A) //RepeatedDeletion.java import java.util.Scanner; import java.sql.*; class RepeatedDeletion {        public static void main(String[] args) {               Connection con= DriverManager. getConnection ( "jdbc:odbc:prince" , "scott" , "tiger" );               PreparedStatement ps=con.PreparedStatement( "DELETE FROM ACCOUNT WHERE ACCNO=?" );               Scanner s= new Scanner(System. in );               while ( true )               {                      System. out .println( "Enter accno : " );      ...

Introduction

1) What is not JDBC? 2) What is the purpose of JDBC? 3) What is ODBC? 4) What is JDBC? 5) What is JDBC architecture? 6) What is JDBC client? What are its responsibilities? 7) What is JDBC API?  8) What is driver manager? 9) What is JDBC driver? What is its role in java database connection? 10) What is database server?

Q) Explain about nested classes?

A) ->defining a class with in another class is known as nesting of the class. Ex: class A {        class B        {                      } //nested class, and inner class.because it is not static class. } //enclosing class or outer class. ->static class is declared in inside an another class then it does not become an inner class. Note: non-static nested class is known as “inner class”. In the above example class B is nested but not an inner class. Ex: class D {        static c        {                      } //nested class, but not an inner class , because of static class. } //outer class. ->we have three different kinds of inner classes. 1) Member inner class 2) Meth...