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

还想请教一下下面的题目,谢谢
16.关于super的说法正确的是:
A、是指当前对象的内存地址
B、是指当前对象的父类对象的内存地址
C、是指当前对象的父类
D、可以用在main()方法中

super,this关键字可以 在类的实例方法中使用,也可以用于构造方法。像静态方法里是不能使用的。
选B
是指当前对象的父类对象的内存地址
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-12
比如一个 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方法。

Java中this和super的使用详解及异同之处
Java中的super关键字则是表示父类对象的引用。 我们分析这句话父类对象的引用,那说明我们使用的时候只能在子类中使用,既然是对象的引用,那么我们也可以用来调用成员属性以及成员方法,当然了,这里的super关键字还能够调用父类的构造方法。 具体有如下几种用法:1、调用父类的构造方法 Java中的继承大家都应该了解,子类...

this和super不能用在main方法中
该问题的原因如下:在Java中,this和super关键字有特定的用途和规则。this用于引用当前对象的实例,通常在任何方法内部都可以使用。但在main方法中,由于它是程序的入口点,代表整个程序而不是某个对象的实例,因此不能使用this来引用当前对象。同样,super用于引用当前对象的父类实例,但在main方法中也不能...

Java关键字 this 和 super 的理解
Java关键字this、super使用总结 一、this Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final...

java super this关键字只能在构造方法中使用吗?并且只能是第一条语句...
您好,提问者: super()是调用父类的构造方法,只能在子类构造方法的第一行。this表示当前对象,可以在自类中任何地方使用。class Person{ public String name = "哈哈"; public Person(){ System.out.println("super Person"); } public void add(){ System.out.println("P...

在Java中super和this的区别
1、this是对当前实例的引用,而super只是一个起辅助作用的关键字。2、在本类的一个构造函数中,通过this(参数);可以调用本类的另一个构造函数,而在子类的一个构造函数中,通过super(参数);可以调用父类的某一个构造函数。3、在子类的一个实例方法中通过super.父类方法名 (参数);可以调用父类的一...

Java中super关键字及super()的使用
Java中super关键字及super()的使用 super关键字及super()的使用如下:1. super的使用:super是一个关键字,与this类似,用于区分实例变量和局部变量。2. super能出现在实例方法和构造方法中,语法是"super."和"super()"。3. super不能出现在静态方法中,大部分情况下可以省略。4. super在区分局部...

super和this关键字怎么用?
super与this关键字的使用 构造器中指该构造器所创建的新对象;super与this关键字的使用 方法中指调用该方法的对象;super与this关键字的使用在类本身的方法或构造器中引用该类的实例变量和方法。this只能用在构造器或者方法中,用于获得调用当前的构造器、方法的对象引用。可以和任何的对象引用一样来处理这个...

面试官:this和super有什么区别?this能调用到父类吗?
this关键字主要用于访问本类实例属性和方法。它会优先在本类中查找属性,如果找不到再在父类中查找。使用this最常见的场合是赋值本类属性,例如设置setter方法。如果我们不使用this关键字,会导致赋值失败。同样,我们可以使用this()方法来调用本类的构造方法。与super()方法一样,this()方法也必须放在...

java中的super()是什么
"super"的另一个重要作用是访问和调用父类的protected成员,这是通过"super"实现的,没有其他途径。总的来说,"super"在Java中主要用于确保正确继承和调用父类的行为,而"this"则主要负责表示当前对象并支持类的实例方法。理解这两个关键字的区别和使用场景对编写高效、正确的Java代码至关重要。

java 关于继承中的super() 方法
1. super关键字表示超(父)类的意思。this变量代表对象本身。2. super访问父类被子类隐藏的变量或覆盖的方法。当前类如果是从超类继承而来的,当调用super.XX()就是调用基类版本的XX()方法。其中超类是最近的父类。3.调用super() 父类构造函数的时候只能调用在子类构造函数的第一行 4.this只能在...

相似回答