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();
}
}
}
Nel programma precedente, la statica Point
inizializzazione si guasta, la segnalazione degli errori:oggetto matrice statica
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"};
Ma, la String
matrice statica riesce. Qual è la differenza tra loro?
Ho davvero bisogno di un array di oggetti statici, perché è facile fare riferimento a senza istanziare la classe esterna.
Grazie
Grazie. Voglio "3,4" per attivare il punto (stringa). Sembra che non sia in grado di farlo. – pengguang001
'Point (String xy) {String [] tmp = xy.split (", "); x = Integer.parseInt (tmp [0]); y = Integer.parseInt (tmp [1]); } '? – khachik