(一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。
再写两个子类:
红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color)。红猪也有一个打人的方法(fight),要求在此方法中输出“XX猪是XX颜色的,打掉了人XX点血”。
蛇类:类中有属性姓名(name),有攻击力属性(attack),有几条脚属性(foot)。蛇也有一个打人的方法
(fight),要求在此方法中输出“XX蛇用XX条脚跑到人面前去打人,打掉了人XX点血”。
写一个测试类,生成一只红猪,调用此红猪的打人方法,观察结果。再生成一条蛇,调用此蛇的打人方法。
(注意:代码的重用,及方法重写带来的多态行为)
package monster;
public class Monster {
 String name;
 int attack;
 public void fight(){
  
 }
}
package monster;
public class Redpig extends Monster{
 String a1=super.name="s";
 int a2=super.attack=2;
 String color="红色";
 @Override
 public void fight() {
  // TODO Auto-generated method stub
            System.out.println(a1+"猪是 "+color+"颜色的"+",打掉了人"+a2+"点血");
 }
}
package monster;
public class se extends Monster{
 int foot=10;
 String a1=super.name="se";
 int a2=super.attack=112;
 String color="红色";
 public void fight() {
  // TODO Auto-generated method stub
            System.out.println(a1+"蛇用 "+foot+"条脚到人面前去打人,"+",打掉了人"+a2+"点血");
 }
}
package monster;
public class test {
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Redpig pig=new Redpig();
  pig.fight();
  se ss=new se();
  ss.fight();
}
}
(二)、写一个枪类(Gun),类中有属性:品种(进口枪还是国产枪)type,重量weight。还有一个开枪的方法(shoot),输出“开枪了”。两个子类是:
手枪类(HandGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的手枪,重XX公斤,一颗子弹打出去了”。
机枪类(machineGun):类中有属性品种,重量。还有一个开枪的方法,输出“XX品种的机枪,重XX公斤,一连串的子弹打出去了”。
测试类中定义一个枪的变量,用此变量记录一个手枪的对象,调用这把枪的开枪方法,注意观察输出的结果,是调用的枪的开枪方法,还是调用的手枪的开枪方法。再生成一把机枪的对象放入到这个枪的变量中去,又调用这把枪的开枪方法,观察结果。
(注意:把儿子当老子看后,调用的方法还是儿子的)
package weaoan;
public class Bullen extends Weapen{
 public Bullen() {
  super();
  super.Power=100.2;
  super.speed=2222;
  this.type="机枪子弹";
  // TODO Auto-generated constructor stub
 }
 private String type;
public String getType() {
  return type;
 }
public void setType(String type) {
  this.type = type;
 }
 public void Attack(){
  System.out.println("我是"+getType()+", 速度"+this.speed+",攻击力"+super.Power);
  }
}
package weaoan;
public class Tank extends Weapen {
 private String dir;
 public Tank() {
  super();
  super.Power=100.32;
  super.speed=10000;
  this.dir="上";
  // TODO Auto-generated constructor stub
 }
 
public String getDir() {
  return dir;
 }
public void setDir(String dir) {
  this.dir = dir;
 }
 public void  Attack(){
  System.out.println("我是坦克,向"+getDir()+"方向运动,速度"+this.speed+",攻击力"+super.Power);
 }
}
package weaoan;
public class Weapen {
 
 double Power;
 double speed;
 public Weapen() {
 
  // TODO Auto-generated constructor stub
 }
}
package weaoan;
public class Text {
public static void main(String[] args) {
 Tank tk=new Tank();
 tk.Attack();
 Bullen Bl=new Bullen();
    Bl.Attack();
}
}                                                                                                                                                    

【网易自营|30天无忧退货】仅售同款价1/4!MUJI制造商“冬季舒适家居拖鞋系列”限时仅39元>>          

转载于:https://www.cnblogs.com/www-hsy-com/p/8111645.html

(一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。(方法的重写)...相关推荐

  1. java攻击力与命中_JAVA写一个怪物的类,类中有属性姓名,攻击力,有打人的方法。...

    展开全部 //filename:Monster.java public interface Monster { public String getName(); public Integer getA ...

  2. 写一个不能被继承的类(友元的不可继承性)

    template<class T> class A { public:friend T; private:A() {}~A() {} };class B:virtual public A& ...

  3. java乐器_用java新建一个乐器类,包含属性:名称、重量、品牌、价格;包含方法:不带参数的构造方法、表演方法...

    展开全部 /** * 乐器类 */ public class Instrument { //名称 private String name; //重量 private String weight; // ...

  4. 工厂模式,设计电话卡类,具有属性姓名,具有动作计费,电话卡片分成 联通和移动,要求在控制台中输入联通 就能通过工厂生成一个联通的联通卡的对象,输入移动生成移动卡的对象,然后分别调用各自的计费方式打印出

    package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:21* @Description: 电话卡类* @version: 1.01*/ ...

  5. java写一个web服务器_Java实现web服务器功能(简版) | kTWO-个人博客

    package kTWOServer; import java.io.* ; import java.net.* ; import java.util.* ; final class HttpRequ ...

  6. 自己写一个数据库连接工具类

    最近刚复习了一下JDBC相关的知识,这里来写一个mysql数据库连接工具类来练习一下. 在jdbc连接数据库时,Connection对象是非常稀有的资源,用完后必须马上释放,如果Connection不 ...

  7. 使用回调方式写POI导入excel工具类

    场景是这样的:为了做一个excel导入的功能,为了尽可能的写一个通用的工具类,将与poi有关的东西都封装起来,以便以其他人员只用关心自己的业务,不用和poi打交道. 写到最后,现在还是会有poi的东西 ...

  8. java 手编线程池_死磕 java线程系列之自己动手写一个线程池

    欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. (手机横屏看源码更方便) 问题 (1)自己动手写一个线程池需要考虑哪些因素? (2)自己动手写 ...

  9. 写一个通用数据访问组件

    出处:http://www.csharp-corner.com willsound(翻译) 我收到过好多Email来问我如何用一个通用的数据提供者(data provider)在不失自然数据提供者(n ...

最新文章

  1. arm linux移植jvm,JVM的ARM移植.PDF
  2. java判断星期天_java实现一个月的最后一个星期天
  3. 对js面向对象的理解
  4. Excel分列功能的妙用
  5. Bumblebee微服务网关之consul服务发现
  6. 修复png bug的脚本
  7. springboot webservice cxf 客户端调用
  8. 燃气灶电气线路图及原理_一位造价大神的电气工程造价知识整理笔记_深圳电气造价预算培训要多少钱...
  9. 2020年豪华车市场洞察
  10. 【Java】判断某值是否在数组中,使用Arrays类
  11. 深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测
  12. 内存中的fas和lsp
  13. GIS应用技巧之制作土地利用转移矩阵表
  14. 【每日一P】利用通道抠图更换天空
  15. JAVA当前时间timestamp_java获取获得Timestamp类型的当前系统时间
  16. 网络攻击中常见掩盖真实IP的攻击方式及虚假IP地址追踪溯源方法
  17. B016 - 基于51单片机的公交车语音报站_点阵广告屏
  18. PL330 DMAC笔记(2) - DMAC接口,状态机,初始化,APB slave接口
  19. 芝麻代理、豌豆代理、品易代理……市面上那么多HTTP代理,要怎么挑?
  20. 使用单变量求解进行函数的逆运算

热门文章

  1. TextView添加中划线、下划线等
  2. 使用bootstrap实现freeCodeCamp上Build a Personal Portfolio Webpage
  3. java实现统计pv和uv_shell统计pv与uv、独立ip的方法
  4. KVM虚拟化平台搭建、工作模式与原理
  5. 怎样做好邮箱安全,什么邮箱安全又好用,如何安全管理邮箱
  6. IntelliJ IDEA 官方网站
  7. 打字时全部是繁体字,如何改为简体中文?
  8. 听书 app,学习用途
  9. 2018 谷歌 Google I/O 简介 总结
  10. C++: #define中的三个特殊符号:#,##,#@