Java 双静态数组引发异常
我正在为我的班做一个eclipse游戏作业。我得到一个错误: ClassNotFoundException(可丢弃) 它停在Java 双静态数组引发异常,java,image,static-array,Java,Image,Static Array,我正在为我的班做一个eclipse游戏作业。我得到一个错误: ClassNotFoundException(可丢弃) 它停在 public static Jewel[][] grid = new Jewel[8][8]; 运行调试器时,它似乎没有输入新的Jewel[8][8] 我肯定有珠宝类在同一个包中,我不明白为什么它找不到类。我假设它正在尝试生成一个不同的类,或者该类的静态部分没有在编译时生成。欢迎任何补充意见 这是它所在的整个班级 package game; import java.a
public static Jewel[][] grid = new Jewel[8][8];
运行调试器时,它似乎没有输入新的Jewel[8][8]
我肯定有珠宝类在同一个包中,我不明白为什么它找不到类。我假设它正在尝试生成一个不同的类,或者该类的静态部分没有在编译时生成。欢迎任何补充意见
这是它所在的整个班级
package game;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
public class PlayArea extends JPanel {
private static final long serialVersionUID = -9165676032115582474L;
public static Jewel[][] grid = new Jewel[8][8];
public PlayArea(){
this.setPreferredSize(new Dimension(Common.jewelWidth*Common.rowColLength,Common.jewelWidth*Common.rowColLength));
this.setLayout(null);
for(int i = 0; i < Common.rowColLength; i++){
for (int j = 0; j < Common.rowColLength; j++){
grid[i][j] = new Jewel();
}
}
}
@Override
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
for (int i = 0; i <Common.rowColLength;i++){
for(int j = 0; j < Common.rowColLength; j++){
grid[i][j].drawJewel(i, j, g2);
}
}
Jewel grid2 = new Jewel();
grid2.drawJewel(1, 1, g2);
}
}
打包游戏;
导入java.awt.Dimension;
导入java.awt.Graphics;
导入java.awt.Graphics2D;
导入javax.swing.JPanel;
公共类游乐场扩展至JPanel{
私有静态最终长serialVersionUID=-9165676032115582474L;
公共静态宝石[][]网格=新宝石[8][8];
公众游乐场(){
此.setPreferredSize(新维度(Common.jewelWidth*Common.rowColLength,Common.jewelWidth*Common.rowColLength));
此.setLayout(null);
对于(int i=0;i
grid[i][j] = new Jewel();
如果您的默认构造函数中有一些代码,那么它将进入构造函数中
While running the debugger it doesnt seem to enter the new Jewel[8][8].
它不会输入jewel[8][8],因为数组索引从0开始。也就是说,从0-7(count=8)将堆栈跟踪发布到异常,我猜。当你说错误是ClassNotFoundException(throwable)
时,它就是这么说的?它没有命名类?当你说“它停在”时你的意思是异常抛出到那里,或者调试器跳过它?(它不会在那里输入任何内容,现有的答案是正确的。)运行调试器时,调试器暂停并抛出该对象/错误。我想知道是否必须清理/重建/告诉eclipse重新查看文件或其他内容,因为我完全注释掉了该行,它给出了相同的错误。如果清理和重建不起作用,请发布堆栈跟踪,因为它可能会告诉我们一些有用的信息。清理和在这种情况下重建总是一个好主意。在检查堆栈跟踪后,我重新编写了文件以排除Jewel类。这似乎解决了我的问题,一切似乎都很顺利。我想我应该从一开始就将代码设计得更好。感谢您建议检查堆栈跟踪。-如果是的话如果你回答的话是这样的话,我很乐意把它记下来。
While running the debugger it doesnt seem to enter the new Jewel[8][8].