静态方法无法访问实例字段?

2023-12-03

我读过很多关于静态字段的文章

静态方法无法访问实例字段 字段,因为实例字段仅存在于该类型的实例上。

但我们可以在静态类中创建和访问实例字段。

请找到下面的代码,

class Program
{
    static void Main(string[] args)
    {
      
    }
}

class clsA
{
    
    int a = 1;

    // Static methods have no way of accessing fields that are instance fields, 
    // as instance fields only exist on instances of the type.
    public static void Method1Static()
    {
        // Here we can create and also access instance fields
        // which we have declared inside the static method
        int b = 1;

        // a = 2; We get an error when we try to access instance variable outside the static method
        // An object reference is required for the non-static field, method, or property
        
        Program pgm = new Program();
        // Here we can create and also access instance fields by creating the instance of the concrete class
        clsA obj = new clsA();
        obj.a = 1;
    }
}

“我们可以访问静态方法内的非静态字段”是真的吗?

另一个问题如果我们声明类clsA作为静态类,即使在那时,如果我们在静态方法中声明实例字段,我们也不会收到任何编译错误?

我哪里出错了?


您无法访问该类的实例字段static方法是其中的一部分,因为不会在此类的实例上调用静态方法。如果你create该类的实例,您可以像平常一样访问它的实例字段。

Your b不是实例字段,它是普通的局部变量。

您引用的句子只是意味着您无法执行您在注释掉的行中尝试的操作:您无法访问a没有实例。非静态方法的使用this作为默认实例,因此您可以访问a通过简单地写a = 17;这相当于this.a = 17;

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

静态方法无法访问实例字段? 的相关文章

  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 将 System.Windows.Forms.Keys 序列转换为 Char

    有没有办法转换由 Keys 枚举表示的击键序列 即System Windows Forms Keys 在一个字符中 例如 Keys Oem4进而Keys A产生 char 它一定存在于 WinAPI 中的某个地方 因为当我在文本框中按下按键
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud

随机推荐

  • XMoveWindow 在 XMapWindow 之前无法工作

    我有一个窗口 我希望能够控制它的显示位置 然而 在调用 XMapWindow 之前调用 XMoveWindow 似乎没有任何效果 The docs什么也别说 帮助 In Xt创建窗口有 x 和 y 坐标 因此您可以在创建时指定位置 请注意
  • 您可以在 .NET 中打开 JPEG、添加文本并重新另存为 JPEG 吗?

    我想在 NET 4 0 中编写一个小程序 它将打开 jpg 或 jpeg 文件 向图像添加一行文本 然后将图像重新保存为 jpg 有谁知道最简单的方法来做到这一点 谢谢你的帮助 像这样的东西 var filePath D Pictures
  • R ggplot2更改*具体*线型图例的背景颜色

    这是一个类似的问题 但解决方案不适用于scale linetype manual 类似但不一样的SO问题 当我使用legend key参数它只插入一个element rectbehind我的体重秤上的线条 见下图 现在我的图表上的所有内容都
  • 如何使用 javascript 从单选按钮列表中查找所选项目

    我需要使用 javascript 从单选按钮列表中查找所选项目 这是我的代码
  • 多级JSON解析

    我在写信多级json解析程序 并且能够获取第一级列表 但在点击第一级列表项时不显示第二级列表 简而言之 我列出了在尝试列出点击类别的视频时遇到的问题的类别 我正在做这样的事情 Main Activity Listing Categories
  • 我应该使用 Java 和哪些 Stun 库?

    Java 我试图编写自己的 STUN 客户端 但似乎我犯了错误 因此 大多数时候它都会被冻结 所以我想知道哪些 STUN 客户端库可用于 Java 以便开始使用 跟进 同时尝试跟进 仍然没有涉及NAT 防火墙后面的解决方案 第1步 击晕等级
  • Firebase 事件保证:事件顺序

    我刚刚开始使用 Firebase 并对以下 URL 中列出的 Firebase 事件保证有疑问 活动保证 其中一项保证规定 来自单个客户端的写入将始终写入服务器并按顺序广播给其他用户 此保证是否还意味着客户端将按照事件广播的顺序接收单个客户
  • HTML 音频标签中未加载音频

    我正在测试音频 HTML 标签 它正在我的测试环境中运行 但由于某种原因不在我的生产环境中运行 我只是使用
  • Scipy griddata 在循环/内存泄漏内不起作用

    我在循环内使用 Scipy 的 griddata 时遇到问题 基本上发生的情况是 在循环运行时内存会无限制地增长 要重现该问题 只需将示例放入 http docs scipy org doc scipy reference generate
  • for循环读取带空格的文件名

    我正在尝试扫描目录中的文件以查找其中的文本 但是每当我遇到从 Windows 中添加到末尾添加 Copy 的文件时 程序都不会读取它 我尝试在传递的名称中使用引号 但没有骰子 FOR R F in CDP do for f tokens a
  • 如何在Asp.Net中的Server.Transfer之前设置响应头?

    我有一个页面 根据某些条件 我要么执行 Response Redirect 要么执行 Server Transfer 现在我想为这两种情况添加标题 所以我正在做以下事情 Response AddHeader Vary User Agent
  • 在 Swift 中向 Firebase 数组添加项目,无需先观察数组

    目前 我通过首先观察数组 附加我的新帖子 然后更新引用来向我的 Firebase 数组添加一个新帖子 REF USER child UID observeSingleEventOfType Value withBlock snapshot
  • 带有文本文件的 Chrome 扩展 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是 chrome 扩展的新手 我需要开发一个可以处理 text json 文件的 chrome 扩展 应该能够执行读写操作 文件将存储在同一台机器上 路径可能是 D abc x
  • jquery下拉菜单和ajax窗口之间的冲突

    我有一个 jquery 下拉菜单和一个模式窗口 它是 ajax 的触发器 当您单击 ajax 链接时会出现问题 当您关闭它时 下拉列表将不再起作用 因此 当您不单击 ajax 时 下拉菜单就会起作用 当您单击链接并将其关闭时 下拉菜单不显示
  • 为不同包中的对象创建通用转换器

    我有 5 个 Web 服务 A B C D 和 E 每个服务都有自动生成的对象 其结构完全相同 但名称不同且位于不同的包中 com ws a carA contains parameters and com ws a wheelA com
  • Android achartengine 简单饼图

    我正在跟进此链接中的示例和 创建了一个类如下 public class aChartExample public Intent execute Context context int colors new int Color RED Col
  • 在 Keras 中绘制模型

    我正在尝试在 Keras 中绘制我的模型 如下所示 Plot model graph tf keras utils plot model model to file Model1 png from IPython display impor
  • 如何连接 HIVE 中的两个表。

    我有两个表 A 和 B 它们都具有以下结构 Table A Name Age actualdate no Table B City sdate edate id 我希望使用 JOIN 获取 A 和 B 中的所有字段 其中 id no 且 s
  • 查找 int[] 数组中最受欢迎的元素

    int a new int 10 1 2 3 4 5 6 7 7 7 7 我怎样才能写一个方法并返回7 我想让它保持原生状态 而不需要列表 地图或其他助手的帮助 仅数组 试试这个答案 一 数据 int a 1 2 3 4 5 6 7 7 7
  • 静态方法无法访问实例字段?

    我读过很多关于静态字段的文章 静态方法无法访问实例字段 字段 因为实例字段仅存在于该类型的实例上 但我们可以在静态类中创建和访问实例字段 请找到下面的代码 class Program static void Main string args