20170811 - 今日技能封装 - A

1 涉及到对文件的处理,必须?

做异常处理。

2 消敌机游戏编写过程记录

分别建8个类,并初始化(主类构造为测试用)

画窗口,使用swing中的Jframe等。

//项目分析

①分析项目内有什么对象

敌机,蜜蜂,子弹,英雄机

②抽取共同特征到父类中

敌机,蜜蜂,子弹,英雄机皆有

x,y坐标,宽,高,图片属性→FlyObject

③抽取部分子类共有行为

蜜蜂有奖励行为,抽取奖励接口

敌机有扣分行为,抽取惩罚接口

子弹无

英雄机亦无

思维漏洞:

① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者

② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上

③ 在主类中新建对象后直接赋值提示报错——不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值

private FlyObject[] fo = new FlyObject[2];

fo[0] = new Bee();//就立刻下面赋值了!?

fo[1] = new Enemy();

④private FlyObject[] fo = new FlyObject[2];→private FlyObject[] fo = {};

width = image.getWidth();

eight = image.getHeight();

image = ShootGame.bee;

public void paintBullet(Graphics g){

for(int i = 0;i < bullets.length;i++){

Bullet f = bullets[i];

g.drawImage(f.image,f.x,f.y,null);

}

}

public void paintBee(Graphics g){

g.drawImage(fo[0].image,0,0,null);

}

⑦(复制粘贴注意)蜜蜂,敌机一直显示在下方→height写在x下面,于是默认便是0

⑧x = rand.nextInt(654-this.width);  → rand.nextInt(ShootGame.WIDTH-this.width);

⑨思路要一直都极其清晰,每一步应该做什么,应该怎么做脑中的概念都要非常清楚(try...catch...直接放在了外面)

⑩使用random方法获取整数时,必须用nextInt

image = ShootGame.bee;

width = image.getWidth();

eight = image.getHeight();

思维记录

① 写到英雄机图片属性时,想到需要建主类,通过静态区调英雄机图片

② Bee重写获得奖励方法——返回一个奖励类型的数字,因此需要定义typeNum

3 提示需要 insert ; 有可能是什么原因?

变量没有声明类型

1 涉及到对文件的处理,必须?
  做异常处理。
   
  2 消敌机游戏编写过程记录
  分别建8个类,并初始化(主类构造为测试用)
   
  画窗口,使用swing中的Jframe等。
  在主类中新建各个对象
   
  三个父类
  奖励 飞翔 敌人
   
  子类
  敌机继承飞翔实现敌人,下落速度
   
  子弹继承飞翔
   
  英雄机
   
  蜜蜂
   
  //项目分析
  ①分析项目内有什么对象
  敌机,蜜蜂,子弹,英雄机
  ②抽取共同特征到父类中
  敌机,蜜蜂,子弹,英雄机皆有
  x,y坐标,宽,高,图片属性→FlyObject
  ③抽取部分子类共有行为
  蜜蜂有奖励行为,抽取奖励接口
  敌机有扣分行为,抽取惩罚接口
  子弹无
  英雄机亦无
   
  思维漏洞:
  ① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者
  ② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上
  ③ 在主类中新建对象后直接赋值提示报错——不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值
  private FlyObject[] fo = new FlyObject[2];
  fo[0] = new Bee();//就立刻下面赋值了!?
  fo[1] = new Enemy();
  ④private FlyObject[] fo = new FlyObject[2];→private FlyObject[] fo = {};
 
  width = image.getWidth();
  eight = image.getHeight();
  image = ShootGame.bee;
 
  public void paintBullet(Graphics g){
  for(int i = 0;i < bullets.length;i++){
  Bullet f = bullets[i];
  g.drawImage(f.image,f.x,f.y,null);
  }
   
  }
   
  public void paintBee(Graphics g){
  g.drawImage(fo[0].image,0,0,null);
  }
  ⑦(复制粘贴注意)蜜蜂,敌机一直显示在下方→height写在x下面,于是默认便是0
  ⑧x = rand.nextInt(654-this.width); → rand.nextInt(ShootGame.WIDTH-this.width);
  ⑨思路要一直都极其清晰,每一步应该做什么,应该怎么做脑中的概念都要非常清楚(try...catch...直接放在了外面)
  ⑩使用random方法获取整数时,必须用nextInt
   
  image = ShootGame.bee;
  width = image.getWidth();
  eight = image.getHeight();
   
  思维记录
  ① 写到英雄机图片属性时,想到需要建主类,通过静态区调英雄机图片
  ② Bee重写获得奖励方法——返回一个奖励类型的数字,因此需要定义typeNum
   
  3 提示需要 insert ; 有可能是什么原因?
  变量没有声明类型
时间: 2024-10-13 11:26:26

20170811 - 今日技能封装 - A的相关文章

20170811 - 今日技能封装 - Q

1 什么是单一继承?继承是否具有传递性? 4 子类重写父类方法后,可通过super.父类方法访问父类方法,请举应用例子 5 重写的方法可以访问子类的对象吗? 8 重写与重载的区别有哪些? 8 分析如上代码,输出结果为? class Super {public void f() {System.out.println ("super.f()");}} class Sub extends Super {public void f() {System.out.println ("s

20170811 - 今日技能封装 - Q1

1 涉及到对文件的处理,必须? 2 消敌机游戏编写过程记录 画窗口,使用什么类? //项目分析 ①分析项目内有什么对象 ②抽取共同特征到父类中 敌机,蜜蜂,子弹,英雄机皆有 ③抽取部分子类共有行为 思维漏洞: ① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者 ② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上 ③ 在主类中新建对象后直接赋值提示报错--不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值 private FlyObject[] fo

20170731 - 今日技能封装 - A

1 服务器简单的理解是什么? 高性能的,能够处理大量级数据的计算机. 2 服务器一般使用什么系统?为什么? Linux:Linux系统安全性比windows高. 3 Windows系统中的ABCD目录相当于Linux系统下的什么? Linux系统无分ABCD盘,只有根目录下引出的各个子目录. 4 Linux系统有盘符? 无(c:) 5 Linux系统下插入U盘,U盘目录在? 挂载点目录mnt下 6 Linux主目录在? /home/username目录下 7 Java一般用于什么开发? 服务器端

20170731 - 今日技能封装 - Q

1 服务器简单的理解是什么? 2 服务器一般使用什么系统?为什么? 3 Windows系统中的ABCD目录相当于Linux系统下的什么? 4 Linux系统有盘符? 5 Linux系统下插入U盘,U盘目录在? 6 Linux主目录在? 7 Java一般用于什么开发? 8 Linux操作系统下如何查看当前目录路径? 9 Linux下如何查看当前目录内文件? 10 Liunx下如何跳出当前目录到上一层级? 11 Linux下如何直接跳转到主目录? 12 linux可以在任意位置跳转到绝对路径吗?如何

20170812 - 今日技能封装 - Q

1 静态方法加载几次? 2 类内方法需要加static吗?类外方法呢? 3 class aa{ } BOO xx(){ } bb.x() cc.row++上方代码分别是什么含义? 4 判断返回值类型应看哪里? 5 定义成员变量的方式有几种?可以直接在成员变量下,方法外定义吗? 6 final关键字需要掌握什么?final可以修饰什么? 对应情况的含义分别是? 7 static修饰关键词需要掌握什么? 不同情况下的含义分别是什么? static修饰的成员变量存储在哪? 可否定义一个不赋值的静态成员

20170804 - 今日技能封装 - A

public class addition9 { public static void main(String[] args) { //for循环10次 //循环变量是次数 //变体是10的乘等 long ten = 10; long result = 0; int num = 0; long value = 0; for(int times = 1;times <= 10;times++){ //每次乘等于10,每次ten的值都比上一轮大一个级别 value = ten - 1; System

20170804 - 今日技能封装 - Q

public class addition9 { public static void main(String[] args) { //for循环10次//循环变量是次数//变体是10的乘等long ten = 10;long result = 0;int num = 0;long value = 0;for(int times = 1;times <= 10;times++){//每次乘等于10,每次ten的值都比上一轮大一个级别value = ten - 1;System.out.print

20170812 - 今日技能封装 - A

1 静态方法加载几次?一次,仅在初次加载类文件时加载一次(即第一次新建对象时) 2 类内方法需要加static吗?类外方法呢?一般而言,不是测试类(无主类) 如不定义,则在其他包中,需要定义一个对象才能调用 3 class aa{ } BOO xx(){ } bb.x() cc.row++上方代码分别是什么含义? 定义了一个aa的类: 定义了一个xx方法,其返回值为BOO类型, 对象bb调用了x方法 cc对象的row属性加1 4 判断返回值类型应看哪里?看方法名前类型,而不是看return 5

20170819 - 今日技能封装 - Q

1 继承无抽象方法的抽象类,不重写方法会报错吗?不会. 2 实现接口时需注意什么?方法前必须加public,由于接口内默认为抽象方法,一般前缀为public(一般会加) abstract,子类访问权限默认要大于父类,所以必须加上public 3 可以强转的条件是什么?被强转对象实际上是强转成的类型.如果是转换成接口类实例,则对象对应的类必须也实现了该接口(相当于小转大,对象所属的类实现了接口,新建的对象向上造型接口类引用. 4 类内部调用自身的常量或静态变量是否需要添加类名?不需要,类内部已自动