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

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

方法的重载(Overload):

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

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


NO.10 类对象、方法重载与引用类型数组_第1张图片
方法重载及调用

构造方法:

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

    for(int j=0;j

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

    }

}


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

NO.10 类对象、方法重载与引用类型数组_第2张图片
自定义构造方法,方便赋值

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

NO.10 类对象、方法重载与引用类型数组_第3张图片

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


NO.10 类对象、方法重载与引用类型数组_第4张图片
其中drop、moveLeft、moveRight可以在小括号传参数,以便控制移动格数
NO.10 类对象、方法重载与引用类型数组_第5张图片
构造方法与一般方法的重载

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

NO.10 类对象、方法重载与引用类型数组_第6张图片
O类不同的代码

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

NO.10 类对象、方法重载与引用类型数组_第7张图片
main方法代码


输出为:

四个小格子坐标的变化

你可能感兴趣的:(NO.10 类对象、方法重载与引用类型数组)