Sim.java
Public Abstract class SIM { publicabstractvoid Setnumber (String n); Public Abstract String Givenumber (); Public Abstract String givecorpname ();}
Mobiletelephone.java
Public class Mobiletelephone { SIM card; Public void Usesim (SIM card) { this. card=card; } Public void showmess () { System.out.println ("card used is:" +card.givecorpname () + "provided"); System.out.println ("mobile phone number is:" +Card.givenumber ());} }
Simofchinamobile.java
Public class extends SIM { String number; Public void Setnumber (String N) { = n; } Public String Givenumber () { return number ; } Public String Givecorpname () { return "China Mobile"; }}
Simofchinaunicom.java
Public class extends SIM { String number; Public void Setnumber (String N) { = n; } Public String Givenumber () { return number ; } Public String Givecorpname () { return "China Unicom"; }}
Application.java
Public class Application { publicstaticvoid main (String args[]) { new Mobiletelephone (); Sim Sim=new simofchinamobile (); Sim.setnumber ("13887656432"); Telephone.usesim (SIM); Telephone.showmess (); Sim=new simofchinaunicom (); Sim.setnumber ("13097656437"); Telephone.usesim (SIM); Telephone.showmess (); }}
The idea of Java oriented abstract programming