我有這個小小的代碼,但我不知道爲什麼它不能從aa
類中讀取aa.width
的值在ab
類中。Java:看不到我的變量
我想創建一個基本的遊戲。文件ab.java
有打印語句。我知道我沒有調用aa
中的函數,但這就是java的工作原理。我想我可能只是做aa.width
我一定要得到的值,因爲它是一個公共變量...感謝您的幫助
aa.java:
package com.Game;
import javax.swing.JFrame;
public class aa {
public static ab f= new ab();
public static int width = 600;
public static int height = 400;
public static void main(String args[]){
f.setSize(width,height);
f.setResizable(false);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setTitle("game first");
f.setLocationRelativeTo(null);
System.out.println("main window running!");
}
}
ab.java
package com.Game;
import java.awt.GridLayout;
import javax.swing.*;
public class ab extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public ac panel;
public ab() {
panel = new ac(this);
setLayout(new GridLayout (1,1,0,0));
add(panel);
System.out.format("the value of width %d\n", aa.width);
}
}
它打印出:
the value of width 0
main window running!
聽起來像'aa'的靜態值是在第一次引用該類時設置的。在這種情況下,在'aa'之前運行'ab'的構造函數 –
請使用大寫的類名「AA」而不是'aa' – raffian