返回顶部
首页 > 资讯 > 精选 >为什么在static方法中不能有this和super
  • 753
分享到

为什么在static方法中不能有this和super

2023-06-03 00:06:21 753人浏览 薄情痞子
摘要

为什么在static方法中不能有this和super,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为static方法和类的实例(对象)是两码事,它只在类装载的时候(即编译

为什么在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问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 为什么在static方法中不能有this和super

本文链接: https://lsjlt.com/news/231842.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 为什么在static方法中不能有this和super
    为什么在static方法中不能有this和super,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。因为static方法和类的实例(对象)是两码事,它只在类装载的时候(即编译...
    99+
    2023-06-03
  • java中this和super有什么不同
    这期内容当中小编将会给大家带来有关java中this和super有什么不同,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的...
    99+
    2023-06-14
  • java中this和super有什么区别
    这篇文章将为大家详细讲解有关java中this和super有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,...
    99+
    2023-06-14
  • java中super和this有什么区别
    在Java中,super和this是两个关键字,用于引用父类和当前类的实例。1. super关键字:- super关键字用于引用父类...
    99+
    2023-08-11
    java
  • Java项目中使用 this()与super()方法有什么不同
    Java项目中使用 this()与super()方法有什么不同?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java this()和super()的使用注意使用super和th...
    99+
    2023-05-31
    java this() super()
  • 为什么super(…)和this(…)调用语句不能同时在一个构造器中出现
    构造函数必须出现在第一行上。所以,注定了你只能调用一个构造函数。默认的,父类的或者本类的其它构造,你自己选一个。...
    99+
    2023-06-03
  • fina和static在java中有什么区别
    fina和static在java中有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复...
    99+
    2023-06-14
  • 为什么super(…)或this(…)调用语句只能作为构造函数中的第一句出现?
    class A {     A()      {      System.out.println("You...
    99+
    2023-06-03
  • 使用promises时,为什么this在类方法中未定义
    在类方法中,`this`的值取决于方法的调用方式。当使用普通函数调用类方法时,`this`会指向调用该方法的对象。但是,当使用箭头函...
    99+
    2023-09-26
    promises
  • 在vue中为什么不能用index作为key
    目录一、key的作用是什么?二、什么是虚拟DOM?三、什么是diff算法四、为什么不能用index作为key?(1)index不能作为key--情景一(2)index不能作为key-...
    99+
    2024-04-02
  • jQuery中attr和prop方法有什么不同
    小编给大家分享一下jQuery中attr和prop方法有什么不同,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!相比 attr,prop 是 1.6.1 才新出来的...
    99+
    2023-06-27
  • C#中Environment.Exit(0)和Environment.Exit()方法有什么不同
    在C#中,Environment.Exit(0)和Environment.Exit()方法都用于终止应用程序的执行,但它们之间有一些...
    99+
    2023-09-14
    C#
  • allowedOriginPatterns和allowedOrigins方法有什么不同
    allowedOriginPatterns 和 allowedOrigins 都是用来设置允许跨域请求的来源,其中 allowedOriginPatterns 是在 Spring 5.3 版本引入的新方法,而 allowedOrigins ...
    99+
    2023-08-17
    java 前端 开发语言
  • this关键字在NodeJS和浏览器中有什么区别
    今天就跟大家聊聊有关this关键字在NodeJS和浏览器中有什么区别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。var type = 1functio...
    99+
    2023-06-06
  • Java中为什么start方法不能重复调用而run方法可以?
    初学线程时,总是将 run 方法和 start 方法搞混,虽然二者是完全不同的两个方法,但刚开始使用时很难分清,原因就是因为初次使用时效果貌似是一样的, 如下代码所示: public...
    99+
    2024-04-02
  • nextAll()和prevAll()方法在jQuery中有什么区别
    本篇文章给大家分享的是有关nextAll()和prevAll()方法在jQuery中有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。jquery是什么jquery是一个...
    99+
    2023-06-14
  • prepend()和prependTo()方法在jquery中有什么区别
    prepend()和prependTo()方法在jquery中有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。jquery是什么jquery是一个简洁而...
    99+
    2023-06-14
  • append()和appendTo()方法在jquery中有什么区别
    append()和appendTo()方法在jquery中有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。jquery是什么jquery是一个简洁而快速...
    99+
    2023-06-14
  • append()和after()方法在jquery中有什么区别
    今天就跟大家聊聊有关append()和after()方法在jquery中有什么区别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。jquery是什么jquery是一个简洁而快速的Jav...
    99+
    2023-06-14
  • JavaScript——为什么静态方法不能调用非静态方法
    个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步至千里,积小...
    99+
    2023-08-30
    javascript 前端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作