public class Array
{
static String[] a = new String[] {"red", "green", "blue"};
static Point[] p = new Point[] {new Point(1, 2), "3,4"};
public static void main(String[] args)
{
System.out.println("hello");
}
class Point
{
int x;
int y;
Point(int x, int y)
{
this.x = x;
this.y = y;
}
Point(String s)
{
String[] a = s.split(",");
x = a[0].parseInt();
y = a[1].parseInt();
}
}
}
在上述程序中,靜態Point
陣列初始化失敗,報告錯誤:靜態對象陣列
Array.java:4: non-static variable this cannot be referenced from a static context
static Point[] p = new Point[] {new Point(1, 2), "3,4"};
但是,靜態String
陣列成功。他們之間有什麼區別?
我真的需要一個靜態對象數組,因爲它很容易引用而不需要實例化外部類。
感謝
謝謝。我想要「3,4」觸發點(字符串)。看來它不能這樣做。 – pengguang001 2012-02-22 08:55:16
'Point(String xy){String [] tmp = xy.split(「,」); x = Integer.parseInt(tmp [0]); y = Integer.parseInt(tmp [1]); }'? – khachik 2012-02-22 09:59:41