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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

考试的时候碰见过错了,老师讲过也不太懂。大神讲解下啊

评分

参与人数 1黑马币 +10 收起 理由
轻寒漠漠 + 10

查看全部评分

12 个回复

倒序浏览
main方法需要被jvm直接调用,所以是静态方法,在静态方法中不能有this跟super,所以,main方法中不能有this跟super
回复 使用道具 举报
main方法是静态方法,里边只能访问静态的方法,而this,super不是静态的

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
2楼,3楼给力,学习了!
回复 使用道具 举报
不是太懂
回复 使用道具 举报
在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.
而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.
回复 使用道具 举报
多谢2楼三楼~~
回复 使用道具 举报
雨魂 中级黑马 2015-11-12 22:33:47
8#
二楼说得对,main方法是静态方法,是随着类加载而加载,而this与super是表示本类对象和父类对象,是随着对象加载而加载!java编译运行是先加载类,当new对象时才创建的对象!注意先后顺序
回复 使用道具 举报
tobno 中级黑马 2015-11-12 22:36:54
9#
我是这么理解的:this 和super针对的是对象,static修饰的属于类成员而不是对象的了,所以不能用this,super
回复 使用道具 举报
感觉六楼说的很有道理~  结合2 3楼说的 我就明白了
回复 使用道具 举报
有static就不能共存,,
回复 使用道具 举报
yqlbd 中级黑马 2015-11-13 10:43:33
12#
static 哈哈
回复 使用道具 举报
this是本类对象的引用,super是父类对象的引用
静态优先于对象存在,所以不能用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马