Java静态修饰符查询

标签 java android static

如果我将一个类声明为静态并且它的内容是静态的,这是否意味着该类的内容不再是静态的?

事情是这样的,我在 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/

相关文章:

java - Android 中的默认录音

java - 使用 libgdx 、 sin 和 java 淡入淡出

android - 适用于 iOS/Android 的可重排 epub SDK

安卓可搜索 Activity

nginx - 获取静态文件的正确路径以通过 nginx 为它们提供服务

java - 这是做我正在尝试的事情的正确方法吗?抽象静态变量?

Java 迷宫 - 仅播放路线可见

Android 操作栏 : How to vertical align views in top

c# - 遍历静态类的属性来填充列表?

java - 在 Java VM 中,如何处理对象引用