最终,静态,最终静态不同

时间:2015-08-22 02:06:21

标签: java android

我在Android中的一个类中编写常量。 写得像private final static String str = "xx"private final String str ="xx";private static String str ="xx"一样好吗?我已经知道finalstatic之间的区别。

5 个答案:

答案 0 :(得分:1)

使用any意味着变量或方法将属于类本身,而不是类的实例。

使用static使得变量或方法无法更改。

在常量变量中使用final意味着可以在不需要实例的情况下访问它,并且它是常量(不能通过static final关键字进行更改)。

话虽如此,您应该使用finalpublic static final

答案 1 :(得分:0)

根据您需要的可见性,常量最好声明为private static finalpublic static final

如果常量不是static,那么它就存储在每个类实例中。
如果它不是final,那么它不是常数。 :)
可见性修饰符可能会有所不同。

常量声明的示例:

public static final String DEFAULT_USERNAME = "username";

答案 2 :(得分:0)

所有实例和类本身共享静态字段。它属于该类。

最终字段是初始化后无法更改的内容。

因此,您应该将其声明为CREATE TABLE admins ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, hashed_password VARCHAR(60) NOT NULL, PRIMARY KAEY (id) );

private static final String x = "xx"字段是原始字符串或字符串类型时,编译器会在编译器时将所有匹配项替换它们,从而提高性能。

答案 3 :(得分:0)

你可能知道

  
    

初始化后,您无法更改使用final声明的变量的值     静态变量是类变量,而不是实例变量。这意味着任何实例变量对其值的更改不仅限于更改实例变量。

  

最终的静态变量是常量。如果你理解这两个最终和静态,那么你会意识到它。 当你声明一个常量时,将它们声明为公共是有意义的。所以任何人都可以使用它们,并且不必在其他任何地方声明它们。

现在最好使用枚举

答案 4 :(得分:0)

如果你想声明一个constance,你应该这样做“private static final String varaiablename =”xxx“;”。 static表示在创建Class的任何对象之前,变量将是init。 final意味着没有人可以在评估后改变变量。 所以如果你想声明一个常量变量,你应该使用关键词“final”和“static”