java - Writing and accessin child class variable and function except those being inherited from parent class -


i trying implement , access new data members , new member function in concrete class other 1 inherited parent class. can not that.

real question follows:

create abstract class a 2 data members , 2 member functions. create 2 concrete classes of a class, named b , c. each concrete class should have 2 new data members , 2 new member functions. data members , member functions in 2 classes should not same. write main() methods create objects of each subclass, , send them enough messages show methods work.

please help.

the code --

import java.util.*;  abstract class {     abstract void display();     abstract void rules();     int players;     int length; } class b extends {     b(int a,int b) {     players=a;     length=b; }     void rules()     {     system.out.println("b rules");     }     void display()     {     system.out.println("in b players=" +players);      }  }  class c extends {     c(int a,int b)     {     players = a;     length = b;     }      void summary()//  problem here . can not access summary     {         system.out.println("rules");     }     void display()      {         system.out.println("in c players=" +players + " length=" +length);     } }  public class batandball {     public static void main(string args[])     {         system.out.println("airtel champions league");          obj = new b(10,3);         obj.display();          obj1 = new c(11,8);         obj1.display();         obj1.summary(); //   problem here . can not access summary     } } 

you cannot access because variable created of type a, not c. know obj1 c polymorphism makes not c. can see, declaring a here:

a obj1; 

no matter values put in obj1, still of type a. how call summary? need cast! change obj1's type c:

(c)obj1 

and can use call summary:

((c)obj1).summary(); 

that's easy isn't it?


and way, c class doesn't implement rules defined in a. should implement or code won't compile.


Comments