A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方法static中为啥不能有this关键字呢?二者有何区别呢....

4 个回复

倒序浏览
静态方法是比对象先加载的,如果你用this是调用的变量没有static先加载,也就是说你调用的时候根本就不存在那个变量,所以就不能用了。

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
用static不必有对象,用this必须有对象,static中放this,如果直接拿类名调用就出问题了。
回复 使用道具 举报
静态是在类一加载进内存就执行的,也就是先于对象就存在了,如果在这里变调用this,super等对象引用,内存不知道去哪儿找这个不存在的东西,所以不能在static里出现this等关键字
回复 使用道具 举报
静态方法是类加载进内存的时候就已经在内存了,此时还没有对象,this代表的是调用这个方法的对象,没对象怎么能有this
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马