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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

麻烦解释下,详细点。。

6 个回复

倒序浏览
1.静态方法随着类的加载而加载,静态方法是优先于对象而存在的。2.当我们加载一个类的时候,对象还没有存在,而this或super代表的是对象的引用,试问当我们加载类的时候对象都没有,又怎么可以使用this或者super呢?答案显而易见
回复 使用道具 举报 1 0
静态方法随着类的加载而加载 优先于对象的存在
this代表的是调用这个方法的对象

静态方法可以被类名直接调用 而这时对象又没有创建。方法中的this就会报错。
回复 使用道具 举报
因为static修饰的方法首先在方法区中与main方法同时存在了是随着类的加载而加载的,this要等到你在方法中创建对象,调用对象成员时才可以使用,你要是在static修饰的方法中用this,前后顺序互相矛盾了
回复 使用道具 举报
this是指本类对象的调用,而静态方法是跟随类的,在对象new之前就已经存在于内存中了!
回复 使用道具 举报
..........................
回复 使用道具 举报
静态的函数在类加载的时候就已经存在了。而此时内存中还没有对象。this指的就是当前对象。对象都没有,当然会报错了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马