2012-09-11 85 views
0

我想從另一個類訪問私有最終靜態雙。從另一個類訪問私有最終靜態雙

這裏是類:

public class coolMath{ 

private final static double alpha = 5.87; 

public coolMath(){ 

} 

public static double calDistance(double x1, double y1, double x2, double y2){ 
     double dist = Math.sqrt(Math.pow((x2-x1), 2) + Math.pow((y2-y1),2));  
     return dist; 
    } 

} 

我需要訪問的變量α的另一個類。這可能嗎?在構造函數中是否需要發生某些事情以使其可用?有任何想法嗎?

+0

你不是想改變Math.PI或你是什麼? – arshajii

回答

2

要麼將​​alpha設爲公共字段,要麼提供返回它的public static double getAlpha()

如果您將該字段設爲公開,您可以像double a = coolMath.alpha那樣訪問該字段。

否則,double a = coolMath.getAlpha();

我強烈建議你去通過Java修飾符一次。

+0

好吧,公開它,誤讀我的Java書。我怎樣才能訪問它?我試過MyMath.alpha,但它不是一種方法,以及只是嘗試阿爾法。 – ZAX

+0

'coolMath.alpha'應該可以正常工作。由於你的字段是靜態的,我假設你不想在'coolMath'的實例中訪問它?只是一句話:按照慣例Java類名以大寫字母開頭。 – Pao

0

這在技術上可以通過一些深奧的反射方法來實現,但我非常反感。最好是改變你的變量的可見性或者寫一些返回它的方法(或者設置它,如果你還需要的話(但是如果你的變量是final))。

相關問題