Discussion:
[問題] JAVA如何設定全域變數
(时间太久无法回复)
foolish
2006-10-15 05:14:11 UTC
Permalink
小弟想設一個變數給兩個類別用
如下
int a;
class A{}
public class B{
public static void main(){}
}
如果是C的話這樣寫是可以過
可是換到JAVA就會出現錯誤訊息
請問我要怎設定才能讓變數a給A.B兩個類別使用
class Settings{
int a;
}

class A{
private static Settings s = new Settings();
public void loadSettings(){
}
}

class B亦同

btw, no the global variable
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: pc210-59-94-161.nutn.edu.tw
foolish
2006-10-15 22:53:06 UTC
Permalink
目標雖然達成了。但這實在是一個bad style
※ 引述《del680202 (飄落的櫻花)》之銘言:
你的問題應該是要建立一個變數 給兩個不同的類別使用吧
如果是這樣的話 我會用繼承來解決 先設定一個父類別儲存要共用的變數
public class test
{
public static void main(String [] args)
{
B b = new B() ;
C c = new C() ;
b.i = 5 ;
//雖然是 b 的變數 i 被改變
//但是 c 方面的變數 i 也會是一樣的值
System.out.println(b.i) ;
System.out.println(c.i) ;
}
}
class A
{
//共用的變數 i 並且設為 static
public static int i=0 ;
}
class B extends A
{
}
class C extends A
{
}
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: 163.26.34.213
暑假作業真多..泣
2006-10-16 00:54:52 UTC
Permalink
全域變數應該第一個想到的是static吧,

class B {
static int i=0;
}

public class A{
public static void main(String[] args){
B.i = +2;
System.out.println(B.i);
}
}

這樣是不是也可行呢,而且static variable是放在記憶體中Global的區塊喔
Post by foolish
目標雖然達成了。但這實在是一個bad style
你的問題應該是要建立一個變數 給兩個不同的類別使用吧
如果是這樣的話 我會用繼承來解決 先設定一個父類別儲存要共用的變數
public class test
{
public static void main(String [] args)
{
B b = new B() ;
C c = new C() ;
b.i = 5 ;
//雖然是 b 的變數 i 被改變
//但是 c 方面的變數 i 也會是一樣的值
System.out.println(b.i) ;
System.out.println(c.i) ;
}
}
class A
{
//共用的變數 i 並且設為 static
public static int i=0 ;
}
class B extends A
{
}
class C extends A
{
}
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不 h103-83.dorm2.ccit.edu.tw海
继续阅读narkive:
Loading...