请问super,this关键字是不是只能在类的实例方法中使用?

还想请教一下下面的题目,谢谢16.关于super的说法正确的是:A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在main(... 还想请教一下下面的题目,谢谢
16.关于super的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中
展开
 我来答
子晓聊技术
推荐于2018-04-05 · TA获得超过1237个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:417万
展开全部
super,this关键字可以 在类的实例方法中使用,也可以用于构造方法。像静态方法里是不能使用的。
选B
是指当前对象的父类对象的内存地址
xupeiying
2013-01-12 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:563万
展开全部
比如一个 Class A 是Class B的父类。

B中的this, 就是B的一个实例化对象。
B b = new B(). 这个b和this 是同级别的。 this 只能在B里面用。

要有b, 就必须现有一个A的实例(没有父亲,哪有儿子?)。

那么,super 就是this的爹。

A a = new A(). super 和a是同级别的,只不过super和this 只能在B class中使用。、

想a , b , super, this这种对象,里面实际保存的都是一些内存中的地址(可以理解为你家的门牌号,只不过这些地址放在派出所,别人想找你,就去派出所找这些地址)

假如
public class B extends A {
int meony = 0;

public B(){
meony = 10000;
}
}

那么b,和 this 就是都有 1000块。 和家不一样的是, 你家只有一个,但B可以有很多个,

所以b 和 this 是不同的。
追问
谢谢!请问如果子类覆盖了父类的a方法,直接调用a方法是不是就是子类的方法?this.可以省略吗?
追答
覆盖的了的话,如果你子类里调用a, this可以省略,但实际上就是this.a(),  就是子类的实例调用的, 调用的就是子类的a方法。 
父类的实例调用a, 调用的就是父类的a方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式