2016-11-13 85 views
-2

为什么我们使用常量并在代码中初始化它们?我不明白为什么要使用它们。例如这里:为什么我们使用常量?

public class utils { 

    public static final String BASE_URL = 
    "api.openweathermap.org/data/2.5/weather?q="; 

    public static final String ICON_URL = 
    "api.openweathermap.org/data/2.5/weather?q="; } 
+3

而不是什么?只是在代码中内联字符串?因为现在该字符串有一个名称和一些*语义*。 – jonrsharpe

+1

因此,您在整个代码中都有单一的事实根源。假设您切换到下一个API级别。在上面的代码中,你必须在两个地方改变它(它应该只是一个)。如果您在所有调用API的地方都使用了字符串,则必须修复所有这些时间。 (而且你在开发过程中并没有错误输入。) –

+0

它很容易维护。并增加了可读性。 – Jobin

回答

0

恒定基本上用于维护和管理您的恒定值在一个地方。例如,如果您打算多次访问服务器url,我们可以避免多次声明相同的url。有时我们需要为Runnable设置延迟,我们可以创建Constant值(即public static final Integer DELAY = 5000;)。用于所有可运行的。见下面的例子。

private static final Integer DELAY_TIME = 3000; 
private Handler mHanlder = new Handler(); 

mHanlder.postDelayed(mAnimRunnable, DELAY_TIME)// Same Delay using one Constant variable. 
mHanlder.postDelayed(mTextUpdateRunnable, DELAY_TIME)// Same Delay using one Constant variable. 

private Runnable mAnimRunnable = new Runnable() { 
     public void run() { 
     //Your Animation Task 
     } 
    }; 

    private Runnable mTextUpdateRunnable = new Runnable() { 
     public void run() { 
     //Your Text update Task 
     } 
    }; 
+0

非常感谢您的帮助。我知道了 –

1

这是有帮助的,所以如果你想改变以后有常数,你不需要去寻找在你的代码,你把一个URL或东西就行了。 您可以在一个位置更改它,并且此常数的所有其他引用都是最新的。

我希望我能回答你的问题。

Regards,