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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Style栉 中级黑马   /  2014-3-29 20:52  /  968 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Style栉 于 2014-3-29 22:36 编辑

静态中.能不能使用this?为什么

6 个回复

倒序浏览
静态方法,静态变量都是属于类的,不是属于实例对象,this表示当前调用的实例,因此静态无法使用this
回复 使用道具 举报
因为静态方法是不需要对象就可以直接调用的。
回复 使用道具 举报
不能使用this因为静态在类加载的时候就加载了。this表示本类的对象代表的是对象在静态之后,使用对象时才会用到this
回复 使用道具 举报
第一:不能使用this,this的使用时放在构造方法的第一行,与super不能同时存在
第二:静态代码块优先于对象执行,this是指调用了自己的函数,this就代表哪个对象,在静态执行时,还没有对象存在,故无对象调用,故this不能存在.
回复 使用道具 举报
简单的来说,就是static最先出生的,它出生的时候this还没有出生,那时候就没有this这个东西,怎么用this
回复 使用道具 举报
因为this是对象的引用,哪个对象调用类中的方法,this就指向哪个对象,而静态成员在程序初始化时就被创建, 静态的成员可以由类名直接调用,当由类名直接调用时,没有对象的参与,就不能使用用来指向对象的this。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马