File monster.java
package monsters;
public class monsters {
private int intStr=0;
public int intWis=0;
protected int intInt=0;
int intDex=0;
public String strName="";
public String strType="";
public monsters() {
intStr=3;
intWis=3;
intInt=3;
intDex=3;
strName="None";
strType="Mean!";
}
private void pokeMonster(){
System.out.println("Don't poke the " + strType + " monster!");
}
public void prodMonster() {
System.out.println("Don't prod the " + strType + " monster!");
}
protected void pushMonster() {
System.out.println("Don't push the " + strType + " monster!");
}
void pickMonster() {
System.out.println("Don't pick the " + strType + " monster!");
}
} //end of class monsters
File goblin.java
package monsters;
import monsters.*;
public class goblin extends monsters {
public goblin () {
// intStr=14;
//C:\jsrc>javac -classpath c:\jsrc -d c:\jsrc goblin.java
//goblin.java:8: intStr has private access in monsters.monsters
// intStr=14;
// ^
intWis=9;
intInt=13;
intDex=16;
strName="Green";
strType="Goblin";
}
public void doubleGoblin() {
monsters goblinMonster = new monsters();
//goblinMonster.pokeMonster(); private
goblinMonster.prodMonster();
goblinMonster.pushMonster();
goblinMonster.pickMonster();
}
public void tstGoblin() {
//pokeMonster(); private
prodMonster();
pushMonster();
pickMonster();
}
}//end of Class
Filen mash.java
package monsters;
import monsters.*;
public class mash{
public static void main(String [] args) {
monsters myMonsters = new monsters();
//myMonsters.pokeMonster();
//mash.java:8: pokeMonster() has private access in monsters.monsters
myMonsters.prodMonster();
myMonsters.pushMonster();
myMonsters.pickMonster();
goblin myGoblin = new goblin();
//myGoblin.pokeMonster();
//mash.java:15: pokeMonster() has private access in monsters.monsters
myGoblin.prodMonster();
myGoblin.pushMonster();
myGoblin.pickMonster();
myGoblin.doubleGoblin();
myGoblin.tstGoblin();
// Output:
// C:\jsrc>java -classpath c:\jsrc monsters.mash
// Don't prod the Mean! monster!
// Don't push the Mean! monster!
// Don't pick the Mean! monster!
// Don't prod the Goblin monster!
// Don't push the Goblin monster!
// Don't pick the Goblin monster!
// Don't prod the Mean! monster!
// Don't push the Mean! monster!
// Don't pick the Mean! monster!
// Don't prod the Goblin monster!
// Don't push the Goblin monster!
// Don't pick the Goblin monster!
} //eo main
} //eoc
File sprite
package dungeon;
import monsters.*;
public class sprite extends monsters {
public sprite() {
// intStr=14;
//C:\jsrc>javac -classpath c:\jsrc -d c:\jsrc goblin.java
//goblin.java:8: intStr has private access in monsters.monsters
// intStr=14;
// ^
intWis=9;
// intInt=13; protected
// intDex=16; default package
strName="Bly";
strType="Sprite";
}
public void doubleSprite() {
monsters spriteMonster = new monsters();
//spriteMonster.pokeMonster(); private
spriteMonster.prodMonster();
//spriteMonster.pushMonster(); protected
//spriteMonster.pickMonster(); default package
}
public void tstSprite() {
//pokeMonster(); private
prodMonster();
pushMonster();
//pickMonster(); default package
}
}// eoc
File dungeon
package dungeon;
import monsters.*;
class dungeon{
public static void main(String [] args) {
monsters myMonster = new monsters();
//myMonster.pokeMonster(); private
myMonster.prodMonster();
//myMonster.pushMonster(); protected
//myMonster.pickMonster(); default package
//
goblin myGoblin = new goblin();
//myGoblin.pokeMonster(); private
myGoblin.prodMonster();
//myGoblin.pushMonster(); protected
//myGoblin.pickMonster(); default package
myGoblin.doubleGoblin();
myGoblin.tstGoblin();
sprite mySprite = new sprite();
//mySprite.pokeMonster(); private
mySprite.prodMonster();
//mySprite.pushMonster(); protected
//mySprite.pickMonster(); default package
mySprite.doubleSprite();
mySprite.tstSprite();
} // end of main
// Output
// C:\jsrc>java -classpath c:\jsrc dungeon.dungeon
// Don't prod the Mean! monster!
// Don't prod the Goblin monster!
// Don't prod the Mean! monster!
// Don't push the Mean! monster!
// Don't pick the Mean! monster!
// Don't prod the Goblin monster!
// Don't push the Goblin monster!
// Don't pick the Goblin monster!
// Don't prod the Sprite monster!
// Don't prod the Mean! monster!
// Don't prod the Sprite monster!
// Don't push the Sprite monster!
} // eoc