社区
Java SE
帖子详情
小问题:为什么在static方法里不能使用this和super指针?
rainworm
2004-05-08 11:45:15
举个简单的例子,比如我class test1 extends test2
test1和test2里都有个xxx()的方法
如果我在test1里的main方法里使用super.xxx()那么就会出错
提示错误:super不能放在static context里
为什么会出现这个错误
请指点一二!立即结帐!
...全文
338
10
打赏
收藏
小问题:为什么在static方法里不能使用this和super指针?
举个简单的例子,比如我class test1 extends test2 test1和test2里都有个xxx()的方法 如果我在test1里的main方法里使用super.xxx()那么就会出错 提示错误:super不能放在static context里 为什么会出现这个错误 请指点一二!立即结帐!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
firefoxes
2004-05-08
打赏
举报
回复
同意
hooligan31000
2004-05-08
打赏
举报
回复
同意
myhotsun
2004-05-08
打赏
举报
回复
static方法不需要通过对象实例调用!再使用这个方法时并没有类的实例对象!当然也就无法使用this指针了!this表示当外对象实例的引用,既然没有这个实例对象当然也就无法使用了!就像在static方法中无法引用类的非静态成员变量一样!都是因为调用这个方法时可能并不存在任何一个类的实例对象!
maowu
2004-05-08
打赏
举报
回复
还没有轮到讨论this,super的问题啊,static方法里面不能调用不是static的xxx()方法啊.
如果你的xxx()是静态的,那就不用super了,B.xxx()就ok啦.
boyiam
2004-05-08
打赏
举报
回复
回复人: huwenbo518(huwenbo) ( ) 信誉:100 2004-05-08 13:30:00 得分:0
哥们,static成员不属于任何一个实例,是静态的,与生俱来,一个类有且只有一个,所以不能用this。
---------------------------------??????
iwhp
2004-05-08
打赏
举报
回复
仔细看一下定义吧。
huwenbo518
2004-05-08
打赏
举报
回复
哥们,static成员不属于任何一个实例,是静态的,与生俱来,一个类有且只有一个,所以不能用this。
whbxm2000
2004-05-08
打赏
举报
回复
static方法不需要通过对象实例调用!调用这个方法时可能并不存在任何一个类的实例对象!
explorman
2004-05-08
打赏
举报
回复
就像在static方法中无法引用类的非静态成员变量!
umbrella1984
2004-05-08
打赏
举报
回复
就像在static方法中无法引用类的非静态成员变量一样!都是因为调用这个方法时可能并不存在任何一个类的实例对象!
Java
static
方法
里
为什么
不能
使用
this关键字,和
Super
Static
方法
是类
方法
,先于任何的实例(对象)存在。 即
Static
方法
在类加载时就已经存在了(JAVA虚拟机初始化时),但是对象是在创建时才在内存中生成。 而this指代的是当前的对象。
static
叫静态
方法
,也叫类
方法
。 即在程序启动的时候,就会为
static
方法
分配一块内存空间,没有
static
的其他
方法
,非静态
方法
,必须在类实例化时,才有内存空间,所以在类实例化之前是无法调用的...
Java 中为什么
static
方法
中
不能
使用
this关键字
当
使用
static
的变量或者
方法
的时候我经常不注意,会产生一个警告。 The
static
field User.statid should be accessed in a
static
way 为何产生这个警告,如何解除这个警告呢,根据警告的提示,我将警告部分改成了下面这样,
问题
就好了: public User(int userId,String name,int userNu...
为什么this
super
不能
用在
static
方法
中??
class Fu { int a; } class Zi extends Fu { int b;
static
void test(){ this.b;
super
.a; } }编译报错:Cannot use this in a
static
context Cannot use
super
in a
static
context解...
Java关键字:final,
static
,this,
super
final,
static
,this,
super
关键字总结 正文开始@Assassin 目录:final,
static
,this,
super
关键字总结1. final 关键字:2.
static
关键字:3. this 关键字:4.
super
关键字: 1. final 关键字: final 关键字,意思是最终的、不可改变的,初始化之后就
不能
再次修改 ,用来修饰类、
方法
和变量,具有以下特点: final 修饰的类
不能
被继承,final类中的所有成员
方法
都会被隐式的指定为 final
方法
; fina
为什么在
static
方法
中
不能
有this,也
不能
有
super
因为
static
方法
和类的实例(对象)是两码事,它只在类装载的时候(即编译的时候或者javac命令的时候)初始化,被称作类级变量(属于类);而类的实例是在程序运行的时候(即命令的时候)初始化,被称作对象级变量(属于对象); this表示这个类的当前实例,
super
表示父类的当前实例,
static
是属于类的,this是类的一个对象,当然调用了不了他,
static
太牛了,只有类名可以调用它,
static
叫静态
方法
,也叫类
方法
,就是在程序启动的时候,就会为这个
方法
分配一块内存空间,所以什么时候都可以调用这..
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章