0

別のクラスからプライベートfinalstaticdoubleにアクセスしようとしています。

クラスは次のとおりです。

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;
    }

}

別のクラスの変数alphaにアクセスする必要があります。これは可能ですか?コンストラクターを使用可能にするために、コンストラクターで何かが発生する必要がありますか?何か案は?

4

2 に答える 2

2

alphapublic フィールドを作成するか、public static double getAlpha()それを返す を提供します。

フィールドをパブリックにすると、そのようにアクセスしますdouble a = coolMath.alpha

さもないと、double a = coolMath.getAlpha();

Java修飾子をもう一度確認することを強くお勧めします。

于 2012-09-11T22:02:15.967 に答える
0

これは、いくつかの難解な反射方法によって技術的に可能になる可能性がありますが、私はそれを強くお勧めしません。変数の可視性を変更するalphaか、変数を返すメソッドを作成することをお勧めします(または、必要に応じて設定します(ただし、変数が)の場合は設定しませんfinal)。

于 2012-09-11T22:04:37.110 に答える