Java - 对非静态字段列表进行静态引用

2023-11-29

我刚刚进行了实验,发现当我运行滚动代码时,它无法编译,我不明白为什么。

我的 IDE 说“无法对非静态字段列表进行静态引用”,但我不太明白这是什么或为什么。它还适用于什么,即:它只是私有变量和/或方法吗?为什么?:

public class MyList {

    private List list;

    public static void main (String[] args) {
        list = new LinkedList();
        list.add("One");
        list.add("Two");
        System.out.println(list);
    }

}

但是,当我将其更改为以下内容时,它确实有效:

public class MyList {

    private List list;

    public static void main (String[] args) {
        new MyList().exct();
    }

    public void exct() {
        list = new LinkedList();
        list.add("One");
        list.add("Two");
        System.out.println(list);
    }

}

静态字段是在类的所有实例之间共享的字段。
非静态/成员字段特定于类的实例。

Example:

public class Car {
  static final int tireMax = 4;
  int tires;
}

在这里,任何给定的汽车都可以有任意数量的轮胎,但所有汽车的最大数量是相同的。
如果我们做了tireMax变量是可变的,修改该值意味着所有汽车现在可以拥有更多(或更少)的轮胎。

你的第二个例子起作用的原因是你正在检索list一个新的 MyList 实例。在第一种情况下,您处于静态上下文中,而不是处于特定实例的上下文中,因此变量list不可访问。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 对非静态字段列表进行静态引用 的相关文章

  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • 无法将 INode 类型值分配给 类型变量。为什么?

    我想知道为什么以下代码无法工作 public static
  • 我应该使用 JDBC getNString() 而不是 getString() 吗?

    我们正在构建一个由 Oracle 数据库支持的 Java 应用程序 我们使用 JDBC 驱动程序 访问该数据库ojdbc6 jar and orai18n jar 数据库模式主要使用以下方式存储文本列NVARCHAR2数据类型 The JD
  • 为什么我的 @OneToMany 属性出现主键违规?

    我有一个实体 Entity public class Student GeneratedValue strategy GenerationType AUTO Id private long id OneToMany private Set
  • Java - toString 到 Color

    我一整天都在努力解决这个问题 基本上我做了一个 for 循环 将条目添加到数组列表中 其中一项是 颜色 变量 我已经用过random nextInt为颜色构造函数的红色 绿色和蓝色部分创建新值 我还设置了一个toString方法 这样我就可
  • Swift 中的字典是否应该转换为类或结构?

    我正在开发一个本机 iOS 应用程序 该应用程序从我们也可以控制的 Web 服务接收 JSON 格式的数据 该计划是在大约 18 个月内更换后端数据库 以支持不同的平台 考虑到这一点 我们希望确保 iOS 应用程序能够相对容易地适应新的数据
  • 欧拉项目 45

    我还不是一名熟练的程序员 但我认为这是一个有趣的问题 我想我应该尝试一下 三角形 五边形 六边形 数字由以下生成 公式 三角形 T n n n 1 2 1 3 6 10 15 五边形 P n n 3n 1 2 1 5 12 22 35 六角
  • 在 Java 中的 JFrame/JPanel/JComponent 中添加 Web 浏览器

    我正在开发一个 Java 应用程序 需要在应用程序中使用 Web 浏览器 我见过一些应用程序这样做 例如在同一应用程序中单击左侧面板中的提要并打开右侧面板中的链接时的 RSS 阅读器 我想实现类似的功能 在java中可以做到这一点吗 Jav
  • java数学中的组合“N选择R”?

    java库中是否有内置方法可以为任何N R计算 N选择R 公式 实际上很容易计算N choose K甚至不需要计算阶乘 我们知道 公式为 N choose K is N N K K 因此 公式为 N choose K 1 is N N N
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 如何在 Java 中创建一个带有连字符的值的静态枚举?

    如何创建如下所示的静态枚举 static enum Test employee id employeeCode 截至目前 我遇到了错误 这对于 Java 来说是不可能的 因为每个项目都必须是有效的标识符 并且有效的 Java 标识符可能不包
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 乔达时间中两个日期之间的天数

    如何找到两次之间的天数差异乔达时间 http www joda org joda time DateTime http www joda org joda time apidocs org joda time DateTime html实例
  • 检查 Java 字符串实例是否可能包含垃圾邮件数据的最简单方法

    我有一个迭代 String 实例的过程 每次迭代对 String 实例执行很少的操作 最后 String 实例被持久化 现在 我想为每次迭代添加一个检查 String 实例是否可能是垃圾邮件的检查 我只需验证 String 实例不是 成人材
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 通过变量访问 bash 位置参数

    如何通过变量访问 bash 位置参数 例如我有一个变量 pos 它可以是 1 到 6 之间的任何值 比如说 If pos 1 我想要做 echo 1 If pos 2 我想要做 echo 2 So on 直觉上 我想做类似的事情 echo
  • 如何在 jQuery 中选择没有给定类的所有元素?

    鉴于以下情况 ul li Item 1 li li class active Item 2 li li Item 3 li li Item 4 li li Item 5 li ul 我怎样才能选择除第 2 项之外的所有项 又名 ul lis
  • 查找具有额外资格标准的所有匹配项

    给出诸如以下的句子 Boy has a dog and a cat Boy microwaves a gerbil Sally owns a cat 对于每个句子 我想要一个动物列表 定义为 狗 猫 或 沙鼠 其中 男孩 是第一个单词 对于
  • 如何使用 appCompat 22.1 及更高版本中的新 AlertDialog 并设置其样式

    我正在尝试从默认的 android 迁移AlertDialog到 appCompat 22 1 中包含的新版本 到目前为止我明白你只需要导入android support v7 app AlertDialog包以便使用它 但我该如何设计它呢
  • Npm 安装不起作用

    我已经在ubuntu上安装了nodejs node v v0 10 25 npm v gives 1 3 10 当我跑步时 sudo npm install g or sudo npm install 它给了我以下错误 第1523章 152
  • 从 C 中的命令行捕获可变长度字符串

    我到处寻找问题的答案 但尚未找到问题的可靠答案 我目前正在用 C 语言编写一个程序 专门针对 UNIX 命令行 我使用 Linux 作为我的开发环境 但我希望这个程序尽可能可移植 现在 我有一个提示用户输入的基本 shell 然后 用户将输
  • 如何放松对已知变体的嵌套匹配的非详尽模式检查?

    我如何说服 Rust 编译器内部match这里的表达很好 因为外部match已经限制了可能的类型 enum Op LoadX LoadY Add fn test o Op match o Op LoadX Op LoadY gt do so
  • javascript onkeydown - event.which 只给出大写字符的问题

    我编写了一段 JavaScript 代码来在文本区域内按下按键 我已使用 onkeydown 事件来捕获按下的键 并在触发事件时调用函数 在函数中 我使用 event which 来按下按键 但这并没有给出正确的按键按下 对于按下的任何字符
  • 日期格式 yyyy-MM-ddTHH:mm:ssZ

    我认为这应该很简单 但无法得到它 在此格式中 Z 是时区 T 是长时间模式除了使用之外 我怎样才能获得这种格式的日期 DateTime dt DateTime Now Console WriteLine dt ToString yyyy M
  • Magento“忘记密码”电子邮件以错误的语言发送

    我有一个具有多种语言的 Magento 网站 我已经设置了语言包 网站上的所有内容似乎都能正确翻译 交易电子邮件也以正确的语言发送除了 忘记密码 始终以德语发送的电子邮件 这就是我所做的 安装语言包并确保所有模板和文件夹结构正确 例子 ap
  • R Shiny:如何在 NULL 时不显示绘图

    如果您在 R 工作室中运行此代码 您会发现 NULL 数据的绘图仍然是一大块白色 数据为NULL时怎么不显示呢 在其他图表中 大白板看起来不太好 library shiny server lt function input output o
  • 在递归 CTE 下控制同级顺序?

    我有一个 CTE 查询 用于查找主叶和子叶 但我无法控制叶子选择顺序2个兄弟姐妹之间 表中的每一行声明为 childID INT parentID INT NAME NVARCHAR 30 location int Where locati
  • WordPress 中每页的自定义 CSS

    大家早上好 我为我们网站内的某些页面创建了不同的背景和一些其他图像 目前 以下代码与我们网站上的 儿童 页面配合良好
  • jsonp 调用中的错误仅来自 firefox-extension

    我的错误的奇怪之处在于它只发生在我在这篇文章底部链接到的 firefox 扩展中 我无法在任何其他设置中重现此错误 我有这个ajax请求 ajax type GET dataType jsonp url url jsonpCallback
  • Kubernetes docker 容器中的前端 Vue.js 应用程序无法连接到后端

    I have built a front end Vue js application running on a docker container under kubernetes environment the backend is al
  • 防止其他人调用您的 JSON Web 服务

    假设我有一些代码可以通过 JSON 服务调用创建 HTML 页面 如何防止其他人复制粘贴源代码 调用服务并获取第一个用户的结果集 如果我将域作为服务的参数或获取其他内容 例如用户名或密码 它们也可以被复制和粘贴并用于另一个域 我没有找到阻止
  • 在 C 中将 & (addressof) 与 const 变量一起使用

    教科书上说 addressof 运算符不适用于不能应用于表达式 常量 或寄存器变量 常量是否仅意味着 A 7 等文字或也用 const 关键字声明的变量 我认为这仅意味着文字 因为以下代码已编译 int main const int i 1
  • 如何使用会员验证密码事件处理程序?

    使用 asp 创建新用户时 有什么方法可以对密码选择进行一些限制吗 网会员 条件喜欢 密码强度 至少 8 个字符 并强制执行字符复杂性 即 不包含用户的帐户名 长度至少为八个字符 包含以下四个类别中三个类别的字符 英文大写字符 A 到 Z
  • 从现在开始下一个月的 10 号?

    我正在尝试查找从今天开始的下一个月的 10 号 因此 如果今天是 5 月 27 日 那么下一个 10 日就是 6 月 10 日 例如 如果今天是 8 月 1 日 那么接下来的 10 日将是 8 月 10 日 我知道我可以使用找到下个月的第一
  • Java - 对非静态字段列表进行静态引用

    我刚刚进行了实验 发现当我运行滚动代码时 它无法编译 我不明白为什么 我的 IDE 说 无法对非静态字段列表进行静态引用 但我不太明白这是什么或为什么 它还适用于什么 即 它只是私有变量和 或方法吗 为什么 public class MyL