用Java开发一个简单的井字游戏。
我有一个名为的课程GameHelpers。此类应包含有用的游戏方法。游戏发生在另一个班级。
GameHelpers
中的方法GameHelpers是ResetGame()。该方法应该将所有9个按钮(井字游戏板)上的文本设置为空白,再次将它们设置为启用,然后将变量设置为1。
ResetGame()
这是它的代码:
public class GameHelpers { public void resetGame(){ for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ buttons[i][j].setEnabled(true); buttons[i][j].setText(""); count = 1; } } } }
buttons[]是游戏主类中的JButtons数组TicTacToe。
buttons[]
TicTacToe
该方法以前在游戏的主要类中使用TicTacToe。但是现在它在不同的类中,它无法到达TicTacToe该类中的按钮并对其进行操作。
我在中创建了get和set方法TicTacToe,但是如何从中激活它们GameHelpers呢?
如何使该方法GameHelpers起作用?
您可以将Java引用为EXE- 为什么,何时,何时不以及如何
缺点 磁盘占用量。 Java字节码是为紧凑而设计的,因此它的级别比典型的CPU指令集高得多。期望由AOT编译器生成的可执行文件将比原始jar文件大2-4倍。 动态应用程序 。应用程序开发人员可能无法使用应用程序在运行时动态加载的类。这些可以是第三方插件,动态代理以及在运行时生成的其他类,等等。因此,运行时系统必须包含Java字节码解释器和/或JIT编译器。 此外,在一般情况下,仅将由系统或应用程序类加载器加载的类预编译为本机代码。因此,广泛使用自定义类加载器的应用程序可能仅被部分预编译。 特定于硬件的优化。 JIT编译器具有优于AOT编译器的潜在优势,因为它可以根据应用程序在其上执行的实际硬件来选择代码生成模式。例如,它可以使用Intel MMX / SSE / SSE2扩展来加速浮点计算。AOT编译器必须生成最低公分母的代码,或者将版本控制应用于CPU占用最大的方法,这会导致代码大小进一步增加。
缺点
磁盘占用量。 Java字节码是为紧凑而设计的,因此它的级别比典型的CPU指令集高得多。期望由AOT编译器生成的可执行文件将比原始jar文件大2-4倍。
动态应用程序 。应用程序开发人员可能无法使用应用程序在运行时动态加载的类。这些可以是第三方插件,动态代理以及在运行时生成的其他类,等等。因此,运行时系统必须包含Java字节码解释器和/或JIT编译器。
此外,在一般情况下,仅将由系统或应用程序类加载器加载的类预编译为本机代码。因此,广泛使用自定义类加载器的应用程序可能仅被部分预编译。
特定于硬件的优化。 JIT编译器具有优于AOT编译器的潜在优势,因为它可以根据应用程序在其上执行的实际硬件来选择代码生成模式。例如,它可以使用Intel MMX / SSE / SSE2扩展来加速浮点计算。AOT编译器必须生成最低公分母的代码,或者将版本控制应用于CPU占用最大的方法,这会导致代码大小进一步增加。