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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangfengg 中级黑马   /  2016-9-19 22:33  /  1080 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

this为啥不能在主方法中使用,求大神指点

12 个回复

倒序浏览
主方法是静态的 当主方法进行初始化时 类都还没出现呢 所以是不能用this的
回复 使用道具 举报
主方法是静态的啊,this是需要创建对象才会存在的,而主方法是类名调用的方法,对象什么的,当然就不存在了
回复 使用道具 举报
楼上两位正解.静态在类加载进方法区的时候就存在了,而这个时候对象很有可能还没有创建,this表示的是当前对象的引用.注意不要钻牛角尖.上面说的是这个时候有可能...是有可能还没有创建这个对象,所以为了避免这种有可能会发生的事情,就规定静态中不可以有this
回复 使用道具 举报
同求啊  同求啊啊啊
回复 使用道具 举报
前几楼说的很清楚
回复 使用道具 举报
Jarc 高级黑马 2016-9-20 10:30:26
7#
静态不能和this同事存在
回复 使用道具 举报
jingyarufeng 发表于 2016-9-19 23:36
楼上两位正解.静态在类加载进方法区的时候就存在了,而这个时候对象很有可能还没有创建,this表示的是当前对 ...

谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦
回复 使用道具 举报
LShu 中级黑马 2016-9-22 22:35:45
9#
首先,this是代表当前对象的引用.而主方法是一个静态的方法,主方法优先于对象的存在,所以在主方法中不可以使用this
回复 使用道具 举报
main方法是静态的,随着类的加载而加载入内存,而this是 随着对象的创建而产生,main方法优先于this产生,先存在的不能访问还没存在的
回复 使用道具 举报
gcno93 发表于 2016-9-19 23:26
主方法是静态的啊,this是需要创建对象才会存在的,而主方法是类名调用的方法,对象什么的,当然就不存在了 ...

谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦
回复 使用道具 举报
this代表当前对象的引用。在主方法运行的时候,可能还没有创建对象,所以就不能在主方法中用this。
回复 使用道具 举报
一半的留言 发表于 2016-9-19 23:08
主方法是静态的 当主方法进行初始化时 类都还没出现呢 所以是不能用this的

谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦谢谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马