我在Android中的一个类中编写常量。
写得像private final static String str = "xx"
,private final String str ="xx";
或private static String str ="xx"
一样好吗?我已经知道final
和static
之间的区别。
答案 0 :(得分:1)
使用any
意味着变量或方法将属于类本身,而不是类的实例。
使用static
使得变量或方法无法更改。
在常量变量中使用final
意味着可以在不需要实例的情况下访问它,并且它是常量(不能通过static final
关键字进行更改)。
话虽如此,您应该使用final
或public static final
。
答案 1 :(得分:0)
根据您需要的可见性,常量最好声明为private static final
或public 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”