04.入门篇-Java程序结构
4 Java程序结构
以贪吃蛇游戏为例,一款游戏由多个小功能实现(例如:蛇移动、蛇吃苹果、蛇身变长、撞墙或撞身体死亡等)
4.1 项目框架

4.2 方法(method)
Snake.java
.......... public void move(Point newHead, boolean grow) { body.addFirst(newHead); if (!grow) { body.removeLast(); } } ..........
例如上面就是 Snake.java 文件下的其中一个方法(method)
4.3 类(class)
多个方法放到一起,有些是有关联的,例如:与蛇相关的,有些是没有关联的,例如:蛇和苹果
将不同的方法进行分类,类(class)用来管理功能相关联的方法
public class Snake { private final LinkedList<Point> body; private Direction direction; public Snake() { body = new LinkedList<>(); // 初始长度为3 body.add(new Point(10, 10)); body.add(new Point(9, 10)); body.add(new Point(8, 10)); direction = Direction.RIGHT; } .......... public class Point { public final int x; public final int y; public Point(int x, int y) { this.x = x; this.y = y; }
4.4 包(package)
类越来越多,不管理也会很混乱,将功能相似的类放到同一目录(包 package)下

例如:controller、model、util、view 包
4.5 项目(project)
将所有的包组合到一起,就组成了一个完整的程序(项目 project)

例如:snake
4.6 架构目录
工程/项目(project) -> 包(package) -> 文件 -> 类(class) -> 方法(method)
4.7 特殊方法
main 方法是任何程序都必备的,是整个程序项目的入口
调用 main 方法后,main 再去调用程序中其他的类和方法
SnakeGame.java
package com.itheima; import javax.swing.*; public class SnakeGame { public static void main(String[] args) { SwingUtilities.invokeLater(() -> { JFrame frame = new JFrame("像素贪吃蛇 - by Itheima"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); frame.add(new com.itheima.view.GamePanel()); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); }); } }
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号