如果我将一个类声明为静态并且它的内容是静态的,这是否意味着该类的内容不再是静态的?
事情是这样的,我在 Android 的自定义适配器中使用了 ViewHolder。
当我的代码是这样的:
static class ViewHolder {
static TextView blah;
//more widgets
}
ListView 有重复的数据,行在滚动时打乱了顺序。
但是,当我这样做时,没有创建重复项。基本上每个列表项只创建一个实例,并且这些项不会在滚动时随机播放。
static class ViewHolder {
public TextView blah;
//more widgets
}
现在,我知道 public
是默认的访问说明符,不需要对更改做任何事情。双静电会相互抵消吗?双重否定是肯定的吗?
最佳答案
类上的静态修饰符只有在它是内部类时才有意义。静态内部类意味着内部类的实例可以在没有外部类实例的情况下独立存在。
成员变量上的 static 修饰符意味着对于封闭类的所有实例只有该变量的一个副本。
因此,类上的静态修饰符对成员变量上的静态修饰符没有影响。
关于Java静态修饰符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17509206/