当前位置: 首页 > 面试题库 >

Java中“ this”和“ super”关键字之间的区别

南门峰
2023-03-14
问题内容

关键字this和之间有什么区别super

两者都用来访问类的构造函数吧?你们任何人都可以解释吗?


问题答案:

让我们考虑这种情况

class Animal {
  void eat() {
    System.out.println("animal : eat");
  }
}

class Dog extends Animal {
  void eat() {
    System.out.println("dog : eat");
  }
  void anotherEat() {
    super.eat();
  }
}

public class Test {
  public static void main(String[] args) {
    Animal a = new Animal();
    a.eat();
    Dog d = new Dog();
    d.eat();
    d.anotherEat();
  }
}

输出将是

animal : eat
dog : eat
animal : eat

第三行正在打印“ animal:eat”,因为我们正在调用super.eat()。如果我们调用this.eat(),它将被打印为“
dog:eat”。



 类似资料:
  • 我对java中的super关键字有一个问题。请遵循以下示例: 我的观点是,当我在子类中使用Super()时,java如何知道在我的子类中调用哪个构造函数?因为在我的超类中,我有两个没有参数的构造函数;公共双getRadius()和公共双getArea()

  • 主要内容:super调用父类构造方法,super访问父类成员,super和this的区别由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。 super 关键字的功能: 在子类的构造方法中显式的调用父类构造方法 访问父类的成员方法和变量。 super调用父类构造方法 super 关键字可以在子类的构造方法中显式地调用父类的构造方法,基本格式如下: 其中,parameter-list 指定

  • 问题内容: 有人可以举例说明在ElasticSearch中关键字和文本之间的区别吗? 问题答案: 关键字 类型:如果您将一个字段定义为像这样的关键字类型。 然后,当您对该字段进行搜索查询时,您必须插入整个值(关键字搜索),即关键字字段。 当您执行这样的搜索时: 它将不匹配任何文档。您必须搜索整个词“洗衣机”。 *另一方面,将分析 *文本 类型,您可以使用字段值中的标记进行搜索。 全文搜索 : 和搜

  • 主要内容:this.属性名,this.方法名,this( )访问构造方法this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。 下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用 this 前缀

  • 本文向大家介绍C#中的out和ref关键字之间的区别,包括了C#中的out和ref关键字之间的区别的使用技巧和注意事项,需要的朋友参考一下 out关键字 out关键字用于将参数作为引用类型传递给方法,主要用于方法必须返回多个值时。ref关键字还用于将参数作为引用类型传递给方法,并且在要在方法中修改现有变量时使用。以下是C#中ref和out关键字的有效用法。 示例 输出结果 以下是ref和out关键

  • 问题内容: 我从Android开发者网站复制了以下代码: 我想知道“这个”关键字到底指的是什么?它是否引用了类“ ExampleActivity”?通常,如何找到“ this”指的是什么? 问题答案: 它是指的实例,其上被调用。 通常,从Java语言规范15.8.3开始: 关键字this只能在实例方法,实例初始值设定项或构造函数的主体中,或在类的实例变量的初始值设定项中使用。如果它出现在其他任何地