详谈Java静态动态的问题

发布时间 - 2026-01-11 03:17:27    点击率:

Cannot make a static reference to the non-static field

静态方法中不能引用非静态成员变量及方法

class A {
  private int a = 1;

  public sttaic void main(String[] args){
    System.out.println(a);
  }
}

因为实例变量应该是具体对象的状态,应该先A a =  new A();然后System.out.println(a,a);

或者将变量改为static

No enclosing instance of type EventApp4 is accessible. Must qualify the allocation with an enclosing instance of type EventApp4 (e.g. x.new A() where x is an instance of EventApp4).

原因:内部类没有用static限定,所以是动态的,而我在main函数中new了这个内部类。为什么这样就出现问题了呢,因为静态的方法以及变量在类加载之时就已经进入内存了,但是非静态的方法和变量只能在实例化之后才会进入内存,所以在静态方法中new非静态的内部类就会出错,因为此时这个内部类还不存在呢。反之,在动态方法中new静态方法是不会出现错误的,原因同样,静态的在非静态的之前就已经存在了。

从java的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的静态方法(带有static修饰的静态函数)的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说静态方法会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,this关键字一般指该对象,但是如果没有new对象,而是通过类名调用该类的静态方法也可以。

遇到遇上问题时,有以下原则

1.在main中,使用静态方法静态变量静态类,即将变量、方法都限定为static

2.在main中,实例化本类或其他类(要使用的类)

3.将main中的语句放进构造函数中,在main中实例化本类,因为构造函数中可以使用本类的引用this

以上这篇详谈Java静态动态的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# Java静态动态  # Java中的动态和静态编译实例详解  # Java静态代理和动态代理总结  # Java 静态绑定与动态绑定深入分析  # Java反射之静态加载和动态加载的简单实例  # java 反射 动态调用不同类的静态方法(推荐)  # 理解Java中的静态绑定和动态绑定  # Java中的静态绑定和动态绑定详细介绍  # 使用java将动态网页生成静态网页示例  # 深入解析java中的静态代理与动态代理  # java 静态代理 动态代理深入学习  # 本类  # 加载  # 当你  # 给大家  # 就会  # 我在  # 才会  # 还不  # 希望能  # 如果没有  # 然后再  # 或其他  # 可以使用  # 时就  # 这篇  # 前就  # 先在  # 先将  # 小编  # 要使 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  高性能网站服务器配置指南:安全稳定与高效建站核心方案  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  网页设计与网站制作内容,怎样注册网站?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel怎么调用外部API_Laravel Http Client客户端使用  网站优化排名时,需要考虑哪些问题呢?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Linux系统命令中screen命令详解  如何实现建站之星域名转发设置?  如何正确下载安装西数主机建站助手?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  奇安信“盘古石”团队突破 iOS 26.1 提权  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  怎么用AI帮你设计一套个性化的手机App图标?  教学论文网站制作软件有哪些,写论文用什么软件 ?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  如何构建满足综合性能需求的优质建站方案?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何为API生成Swagger或OpenAPI文档  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何快速打造个性化非模板自助建站?  如何在香港服务器上快速搭建免备案网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  简历在线制作网站免费版,如何创建个人简历?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  如何在IIS中配置站点IP、端口及主机头?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何在阿里云虚拟服务器快速搭建网站?  如何自定义建站之星网站的导航菜单样式?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  在线制作视频网站免费,都有哪些好的动漫网站?  如何有效防御Web建站篡改攻击?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  网站建设整体流程解析,建站其实很容易!  如何在阿里云高效完成企业建站全流程?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何在景安云服务器上绑定域名并配置虚拟主机?  phpredis提高消息队列的实时性方法(推荐)  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel Docker环境搭建教程_Laravel Sail使用指南