静态方法不能直接调用非静态方法和属性,那实例化对象后却可以,那与this.方式调用区别在哪里

静态方法不能直接调用非静态方法和属性,那实例化对象后却可以,那与this.方式调用区别在哪里

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2019-09-23 10:05:56

用this是指,谁实例化的这个类,那就是指谁。例如,你new了一个student,这个对象是tom,那这个this就是指tom,如果又new了一个student,这个对象名叫jack,那这个this就是指jack。一般的你是在类中想引用本对象时写this,因为现在你也不知道,new的这个对象具体叫什么嘛,所以用this来代替。而你说的实例化,是在调用处写的,既然知道名字了,直接使用就可以了。解决的是同一件事情,只是在不同的位置用不同的形式而已。祝:学习愉快

  • 提问者 fen3395 #1
    非静态的方法也存在不知道new的具体对象,它们也能正常用this.调用,也没有发生错误。我理解为:静态方法里应该是类运行时只能加载一次该方法,防止创建的多个对象调用时重复static修饰的方法,所以会报错,规则也就不允许了。
    2019-09-23 15:46:18
  • 好帮手慕雪 回复 提问者 fen3395 #2
    this就是给非静态的方法用的,静态的方法只能调用静态的内容。
    2019-09-23 17:39:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师