有这样一段代码,我看不明白为什么要这样写,求教大家:
private static Toolkit tk = Toolkit.getDefaultToolkit();// 控制面板
private static Image[] tankImags = null; // 存储全局静态
static {
tankImags = new Image[] {
tk.getImage(BombTank.class.getResource("Images/tankD.gif")),
tk.getImage(BombTank.class.getResource("Images/tankU.gif")),
tk.getImage(BombTank.class.getResource("Images/tankL.gif")),
tk.getImage(BombTank.class.getResource("Images/tankR.gif")), }; }
我把static删除之后会报出错误,为什么要用static包住那个语句块?
这玩意是用eclipse编译的,目录下面的src文件夹和bin文件夹都有Images的文件夹,那么tankImages引用的究竟是哪个文件夹下面的?
这段话可否用一种更为简洁的方式表达呢?eclipsejava
private static Toolkit tk = Toolkit.getDefaultToolkit();// 控制面板
private static Image[] tankImags = null; // 存储全局静态
static {
tankImags = new Image[] {
tk.getImage(BombTank.class.getResource("Images/tankD.gif")),
tk.getImage(BombTank.class.getResource("Images/tankU.gif")),
tk.getImage(BombTank.class.getResource("Images/tankL.gif")),
tk.getImage(BombTank.class.getResource("Images/tankR.gif")), }; }
我把static删除之后会报出错误,为什么要用static包住那个语句块?
这玩意是用eclipse编译的,目录下面的src文件夹和bin文件夹都有Images的文件夹,那么tankImages引用的究竟是哪个文件夹下面的?
这段话可否用一种更为简洁的方式表达呢?eclipsejava
2、访问的到底是src目录下的还是bin目录下的,其实src目录与bin目录相当于是一个目录,你两种理解方式都可以,src是编译前的源文件目录,bin是编译后的文件目录,实际运行的时候访问的当然就是bin目录下的,但是如果src目录下没有的话,bin目录下也就不会有。
2、引用的是bin下的文件
你在eclipse里访问的是src下面的image
去掉括号后如下,这是语法错误。
private static Toolkit tk = Toolkit.getDefaultToolkit();// 控制面板
private static Image[] tankImags = null; // 存储全局静态
tankImags = new Image[] {
tk.getImage(BombTank.class.getResource("Images/tankD.gif")),
tk.getImage(BombTank.class.getResource("Images/tankU.gif")),
tk.getImage(BombTank.class.getResource("Images/tankL.gif")),
tk.getImage(BombTank.class.getResource("Images/tankR.gif")), };
你这么写就没问题了。private static Toolkit tk = Toolkit.getDefaultToolkit();// 控制面板
private static Image[] tankImags = new Image[] {
tk.getImage(BombTank.class.getResource("Images/tankD.gif")),
tk.getImage(BombTank.class.getResource("Images/tankU.gif")),
tk.getImage(BombTank.class.getResource("Images/tankL.gif")),
tk.getImage(BombTank.class.getResource("Images/tankR.gif")), };
2.请详细查看getResource函数的API