首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

类的承继总结

2013-10-27 
类的继承总结/*** 定义一个Man类* @author Administrator**/public class Man {private String namepriva

类的继承总结
/** * 定义一个Man类 * @author Administrator * */public class Man {private String name;private int hp;private int atp;//重载一个构造方法protected Man(String name,int hp,int atp){this.name = name;this.hp = hp;this.atp = atp;}//设置名字属性的方法public void setName(String name){this.name = name;}//获取名字属性的方法public String getName(){return name;}//设置血量属性的方法public void setHp(int hp){this.hp = hp;}//获取血量属性的方法public int getHp(){return hp;}//设置攻击力点数属性的方法public void setATP(int atp){this.atp = atp;}//获取攻击力点数的方法public int getATP(){return atp;}//设置对对手造成伤害的方法 public int fight(Man newman){ newman.setHp(newman.getHp() - atp); newman.getHp(); // System.out.print(name+" 对 "+newman.getName()+" 造成 "+atp+" 点伤害。"); return newman.getHp(); }}

?

 /**    * 定义一个Monster类,该类继承自Man类    * @author Administrator    *    */public class Monster extends Man{//构造方法的重载protected Monster(String name,int hp,int atp){super(name,hp,atp);}}

?

    /**      * 定义一个奥特曼类,该类继承自Man类      * @author Administrator      *      */public class Outman extends Man{//重载一个构造方法protected Outman(String name,int hp,int atp){super(name,hp,atp);}}

?

import java.awt.Color;import java.awt.FlowLayout;import javax.swing.JFrame;import javax.swing.JTextArea;    /**     * 定义一个Fight类     * @author Administrator     *     */public class Fight {/** * 入口主函数 * @param args */public static void main(String[] args) {//实例化两个Outman类的对象、两个Monster类的对象Man outman1 = new Outman("杰克奥特曼",500,200);Man outman2 = new Outman("艾斯奥特曼",600,160);Man monster1 = new Monster("怪兽一",400,220);Man monster2 = new Monster("怪兽二",550,170);//实例化一个窗体Fight showFrame = new Fight();showFrame.initGUI(outman1,outman2,monster1,monster2);        //实例化三次战斗//new Fight().twoFight(outman1, monster1);//outman1.setHp(5000);    //monster1.setHp(4000);//new Fight().twoFight(outman1, outman2);//new Fight().twoFight(monster1, monster2);} //定义一个窗体public void initGUI(Man outman1,Man outman2,Man monster1,Man monster2) {JFrame jf = new JFrame();jf.setTitle("PK界面");//设置窗体的标题jf.setSize(800, 400);//设置窗体的大小jf.setLocation(300,150);//设置窗体位置jf.setDefaultCloseOperation(3);//设置关闭时退出程序jf.setResizable(true);//设置能调整窗口大小jf.setLayout(new FlowLayout());//设置窗体布局//调用战斗函数new Fight().twoFight(outman1,monster1,jf);outman1.setHp(500);monster1.setHp(400);new Fight().twoFight(outman1,outman2,jf);new Fight().twoFight(monster1,monster2,jf);//设置窗体可见jf.setVisible(true);}//定义战斗函数public void twoFight(Man m1,Man m2,JFrame jf){//实例化一个JTextArea类的对象JTextArea jte = new JTextArea("\n"+m1.getName()+" 和 "+m2.getName()+" 开始PK"+"\n"+m1.getName()+" 血量为 "+m1.getHp()+"    "+m2.getName()+" 血量为 "+m2.getHp()+"\n"+m2.getName()+" 率先攻击\n");jte.setColumns(23);//设置JTextArea的列数jte.setRows(19);//设置JTextArea的行数jte.setEditable(false);//不可编辑jf.add(jte);//战斗方法while(m1.getHp()>0&&m2.getHp()>0){m2.fight(m1);jte.append(m2.getName()+" 对 "+m1.getName()+" 造成 "+m2.getATP()+" 点伤害\n");if(m1.getHp()<=0)break;else{jte.append(m1.getName()+" 血量减少 "+m2.getATP()+" 点,血量剩余 "+m1.getHp()+" 点\n");    m1.fight(m2);    jte.append(m1.getName()+" 对 "+m2.getName()+" 造成 "+m1.getATP()+" 点伤害。\n");    jte.append(m2.getName()+" 血量减少 "+m1.getATP()+" 点,血量剩余 "+m2.getHp()+" 点\n");}    }if(m2.getHp()<=0)jte.append(m2.getName()+" 血量为零 "+"\n"+m1.getName()+" 取得胜利\n");elsejte.append(m1.getName()+" 血量为零 "+"\n"+m2.getName()+" 取得胜利\n");}}

?

1 楼 yourc 昨天   “ 2.当子类和父类不同包时:子类的对象能调用的只有公有的属性和方法。”
   这句话什么意思,受保护的方法和属性不能被子类对象调用?

热点排行