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
'प्वाइंट (स्ट्रिंग xy) {स्ट्रिंग [] tmp = xy.split (", "); एक्स = Integer.parseInt (टीएमपी [0]); वाई = Integer.parseInt (टीएमपी [1]); } '? – khachik