为什么在static方法中不能有this和super
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,为什么在static方法中不能有this和super,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为static方法和类的实例(对
千家信息网最后更新 2026年11月03日为什么在static方法中不能有this和super
为什么在static方法中不能有this和super,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
因为static方法和类的实例(对象)是两码事,它只在类装载的时候(即编译的时候或者javac命令的时候)初始化,被称作类级变量(属于类);而类的实例是在程序运行的时候(即Java命令的时候)初始化,被称作对象级变量(属于对象);
this表示这个类的当前实例,super表示父类的当前实例,static是属于类的,this是类的一个对象,当然调用了不了他,static太牛了,只有类名可以调用它,static叫静态方法,也叫类方法,就是在程序启动的时候,就会为这个方法分配一块内存空间,所以什么时候都可以调用这个方法。
静态方法里不能调用非静态方法,除非你先实例化那个类。如果在static修饰的方法中使用this关键字,而这个关键字就无法指向合适的对象;所以我们也说,静态成员不能直接访问非静态成员;jvm有类加载器,第一次加载类时执行类中的static域,jvm会专门划分一个内存区域给static程序块,可以成为静态区,属于这个类。this指针是指向类的对象,在实例化对象时jvm会在堆区分配内存给一个具体的对象,this指针指向这个对象。而类中的static域始终是在静态区分配内存,this指向堆区,所以不能调用。static是属于类的。this是对象指针
关于为什么在static方法中不能有this和super问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
方法
对象
时候
静态
实例
内存
指向
指针
程序
问题
分配
关键
关键字
变量
命令
成员
是在
更多
帮助
解答
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中国互联网科技工作委员会毛军
科技金融是不是互联网金融
涨乐互联网科技
互联网品科技
科技信息互联网
港股互联网科技股
奇酷互联网科技
远信互联网科技
紫鲸互联网科技
西安互联网科技公司
时间互联网络科技
汉立互联网科技有限公司联系电话
须眉科技是互联网公司吗
互联网科技与管理
互联网科技圈年度人物
互联网时代的科技公司
美国互联网科技公司
图游互联网科技
互联网金融运营模式中的金融科技
兰石爱特工业互联网科技分公司
港股互联网科技股
喔噻互联网科技
互联网科技公司电话
花神(南京)互联网科技有限公司
华夏恒生互联网科技013171
梅州GM互联网络科技有限公司
东营紫格互联网科技
上海万顺科技互联网有限公司招聘
知域互联网科技有限公司官网
前海云享互联网科技