3 回答

TA貢獻1866條經驗 獲得超5個贊
如果您只想使此代碼起作用,您也可以將 something() 設為靜態。
但這不是解決這個問題的正確方法。
如果你想在主類中保存代碼,你可以這樣做:
public class AClass {
private String a;
public static void main() {
AClass myC = new AClass();
myC.setA("This should be changed");
// than use myC for your further access
}
public String something() {
return a;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
}
如果您想在沒有直接引用的情況下通過外部類訪問它,您可以查看單例模式。
public class AClass {
private final static AClass INSTANCE = new AClass();
private String a;
public static void main() {
getSingleton().setA("This should be changed");
}
public String something() {
return a;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public static AClass getSingleton() {
return INSTANCE;
}
}
通過這種方式,您可以從代碼的任何位置通過 AClass.getSingleton() 訪問它。

TA貢獻1752條經驗 獲得超4個贊
設置私有變量值的方法是通過類中的 setter 和 getter 方法。
下面的例子
public class Test {
private String name;
private String idNum;
private int age;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String getIdNum() {
return idNum;
}
public void setAge( int newAge) {
age = newAge;
}
public void setName(String newName) {
name = newName;
}
public void setIdNum( String newId) {
idNum = newId;
}
}

TA貢獻1785條經驗 獲得超8個贊
你必須調用你的main()函數。
在另一堂課中:
itsAClass aClassObj = new itsAClass();
aClassObj.main();
// or rather itsAClass.main() as it is a static function
// now A's value changed
System.out.println(aClassObj.something());
添加回答
舉報