谈Java内部类的四个应用场景
2021-08-22 09:25:44 46KB Java
1
用抽象类和多态的方式实现一个俄罗斯方块的打印思路: 大体思路就是用随机数来获取俄罗斯方框的形状和类型,然后得到一个二维数组int[][]根据二维数组的点坐标在4x4的 表格里打印黑色实心的方格。 1.我们先构建一个RussianShape的抽象类,在抽象类中写一个int[][] getArray的二维数组的抽象方法, 2.在类内部写七个静态内部类并继承外部类RussianShape,在内部类中重写实现int[][] getArray的方法, 不同的内部类代表不同的形状,并通过switch-case打印出相应的类型。 3.然后创建一个返回值类型是RussianShape的outputArray的静态方法,用switch(shape)-case判断应该返回哪个 RussianShape父类的子类,这一步是用多态的实现的。因为抽象类不能直接创建对象,只能用他的子类创建对象。 4.int[][] array = RussianShape.outputArray().getArray(); 抽象类直接调用静态子类,子类调用返回值是二维数组的静态方法,然后用二维数组接收这个值。 5.最后也是一个难点,利用三重循环打印俄罗斯方块图形,把array当作形参传进去
1
用抽象类和多态的方式实现一个俄罗斯方块的打印思路: 大体思路就是用随机数来获取俄罗斯方框的形状和类型,然后得到一个二维数组int[][]根据二维数组的点坐标在4x4的 表格里打印黑色实心的方格。 1.我们先构建一个RussianShape的抽象类,在抽象类中写一个int[][] getArray的二维数组的抽象方法, 2.在类内部写七个静态内部类并继承外部类RussianShape,在内部类中重写实现int[][] getArray的方法, 不同的内部类代表不同的形状,并通过switch-case打印出相应的类型。 3.然后创建一个返回值类型是RussianShape的outputArray的静态方法,用switch(shape)-case判断应该返回哪个 RussianShape父类的子类,这一步是用多态的实现的。因为抽象类不能直接创建对象,只能用他的子类创建对象。 4.int[][] array = RussianShape.outputArray().getArray(); 抽象类直接调用静态子类,子类调用返回值是二维数组的静态方法,然后用二维数组接收这个值。 5.最后也是一个难点,利用三重循环打印俄罗斯方块图形,把array当作形参传进去
1
Java多态,Java内部类
2021-08-03 21:03:09 9KB 多态 内部类
1