2015-03-31 87 views
0

例如,我的程序是這樣的, 一個java文件,這是我的固定類。如何在不使用java參數的情況下訪問不同類的值?

class Dynamic{ 
String s; 
    public void program(){ 
    System.out.println(s); 
    } 
} 

這裏另一個Java文件,這是一流的動態,

class Source{ 
public static void main(String[] args) 
{ 
String s = "Hello world"; 
Dynamic d=new Dynamic(); 
d.program(); 
}} 

我想打印S IN動態類。我不想使用s作爲參數,並且如果我更改了源類,它將起作用。還有其他方法嗎?

+0

是的,你可以聲明s爲公共和靜態 – ryekayo 2015-03-31 18:24:01

+1

在java中它是一個大寫字母開始類名稱的慣例 - 動態,來源 – Razib 2015-03-31 18:28:35

回答

1

您可以製作dynamic類公共靜態的String s -

public static String s; 

然後你就可以得到它從任何地方像這樣的 - 不推薦

dynamic.s  

但在OOP的世界使變量公開。

您也可以作出公開getter方法是這樣的(最好的方式)在dynamic講座

public String getS(){ 
return this.s; 
} 
+0

仍然我得到空.. – Sathish 2015-03-31 19:18:30

+0

因爲你沒有設置值爲's'。在你聲明的時候,你可以像這樣設置's'的值 - 'String s =「someSampleString」;' – Razib 2015-03-31 19:22:58

+0

public class Source { public static void main(String [] args){ \t \t // TODO Auto-生成方法存根 \t \t Dynamic d = new Dynamic(); \t \t d.program(); \t \t Dynamic.s =「sahtish」; String s =「sathish」; \t} } public class Dynamic { \t public static String s; \t public String getS(){ \t \t return this.s; (){ \t} \t public void program(){ \t \t System.out.println(s); \t} }。這是我的新代碼..但它打印空.. – Sathish 2015-03-31 19:46:39

0

您可以使用「全局變量」做到這一點。但我不知道這是你在找什麼。

無論如何,作爲一種風格規則,類的名字應該在CamelCase中。

+0

但源的動態是動態變化。如果使用另一個類的手段。我想使用動態類創建一個jar文件,源文件是客戶端,我將如何得到那個.. – Sathish 2015-03-31 18:38:34

+0

因此,你說你不想傳遞s作爲參數? 對於這個問題,我認爲你可以使用接口,你認爲它可以對你有好處嗎? – 2015-03-31 18:46:05

+0

K thankz。我會試試看。 – Sathish 2015-03-31 19:17:53

相關問題