[英]Java: can't see my variable
我有這么小的代碼,但是我不知道為什么它不能從ab
類中的aa
類讀取aa.width
的值。
我正在嘗試創建一個基本的游戲。 文件ab.java
具有print語句。 我知道我沒有在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!
您要在調用ab()
構造函數之后設置aa.width
變量。 移動public static int width = 600;
一排,您就完成了。
我想建議您也不要使用過多的公共變量,而是每個對象都應具有其私有變量和setter / getter方法。 我建議您還檢查游戲的結構以及嘗試創建游戲的方式,如果您是Java GUI和/或MVC(模型視圖控制器)的新手,也許您只想用自己的內容創建一個類需要所有內容,或者更進一步,需要一個類處理邏輯,並一個類處理所有圖形。 如果您在編碼之前進行了認真的思考,則可能會更快地進行編碼和調試。
我無法告訴您更多信息,因為我無法理解您的代碼想要做什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.