NO.10 类对象、方法重载与引用类型数组

今天学习的知识主要有下面几个方面,主要是理解。

方法的重载(Overload):

1)发生在同一个类中,方法名称相同,参数列表不同

2)编译器会自动根据方法的签名来绑定调用不同的方法


方法重载及调用

构造方法:

1)给成员变量赋初值

2)与类同名,没有返回值类型

3)在创建对象时被自动调用

4)若自己不写构造方法,则编译器默认提供一个无参构造方法;若自己写了构造方法,则编译器不再默认提供

5)构造方法可以重载


.this:指代当前对象,哪个对象调用方法指的就是哪个对象

只能用在方法中,方法中访问成员变量之前默认有个this.

this的用法:

1)this.成员变量名-------------访问成员变量

2)this.方法名()---------------调用方法

3)this()----------------------调用构造方法


引用类型数组:

1)Cell[] cells = new Cell[4];

      cells[0] = new Cell(2,5);

      cells[1] = new Cell(2,6);

      cells[2] = new Cell(2,7);

      cells[3] = new Cell(3,6);

2)Cell[] cells = new Cell[]{

      new Cell(2,5),

      new Cell(2,6),

      new Cell(2,7),

      new Cell(3,6)

      };

3)int[][] arr = new int[3][]; //数组的数组

      arr[0] = new int[2];

      arr[1] = new int[3];

      arr[2] = new int[2];

      arr[1][0] = 100;

4)int[][] arr = new int[3][4]; //3行4列

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

    for(int j=0;j<arr[i].length;j++){

      arr[i][j]=100;//每个赋值为100;

    }

}


学到此处,俄罗斯方块小游戏项目便又可以前进一小步了,首先建一个小方格的Cell类:

自定义构造方法,方便赋值

4个小型正方形格子组成的规则图形(Tetromino),共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名,各个图形形状如图-4所示。

下面定义T类,其中先创建Cell数据类型的cells数组:


其中drop、moveLeft、moveRight可以在小括号传参数,以便控制移动格数
构造方法与一般方法的重载

其他S、Z、L、J、I、O类与上面类除构造方法不一样,其余一致。

O类不同的代码

至于代码重复的问题,明天再解决。最后是T、J测试结果:

main方法代码


输出为:

四个小格子坐标的变化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,916评论 0 2
  • 一场雨静止于午时 雨水淘洗过的云朵,倚泽寻梦 秋日盛装前来,天空蓝得无所顾忌 目光深邃,凭借一丝蓝的澄澈 便化解了...
    宁木紫菀阅读 361评论 7 9
  • 中国式男女平等 现在很多影视节目都会用中国式这个定义作为名字,之所以说中国式可能是因为有...
    孤步行者阅读 1,134评论 0 1