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();
}
}
}
Trong chương trình trên, tĩnh Point
mảng khởi thất bại, báo cáo lỗi:tĩnh đối tượng mảng
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"};
Tuy nhiên, String
mảng tĩnh thành công. Sự khác nhau giữa chúng là gì?
Tôi thực sự cần một mảng đối tượng tĩnh, vì nó dễ tham khảo mà không cần khởi tạo lớp bên ngoài.
Cảm ơn
Cảm ơn. Tôi muốn "3,4" để kích hoạt điểm (String). Có vẻ như nó không thể làm như vậy. – pengguang001
'Điểm (Chuỗi xy) {Chuỗi [] tmp = xy.split (", "); x = Integer.parseInt (tmp [0]); y = Integer.parseInt (tmp [1]); } '? – khachik