21xrx.com
2025-03-15 11:45:52 Saturday
文章检索 我的文章 写文章
我最近在学习Java
2023-06-16 16:30:15 深夜i     7     0
super它是Java中一个重要的关键字 可以用于调用父类的属性和方法 让我们一

我最近在学习Java,发现了一个有趣的

在Java中,如果一个子类继承了父类,那么它就可以使用父类的属性和方法。但是,如果子类和父类中有同名的属性或方法,那么Java就会优先使用子类中的属性或方法。这时候,就可以使用super关键字来调用父类中的属性和方法。

下面是一个代码例子,展示了如何使用super关键字来调用父类的属性和方法:

class Animal {
  protected String name;
  
  public Animal(String name)
    this.name = name;
  
  
  public void sleep() {
    System.out.println(name + " is sleeping.");
  }
}
class Cat extends Animal {
  public Cat(String name) {
    super(name);
  }
  
  @Override
  public void sleep() {
    super.sleep(); // 调用父类的sleep方法
    System.out.println(name + " is also purring.");
  }
}
public class Main {
  public static void main(String[] args) {
    Cat cat = new Cat("Tom");
    cat.sleep();
  }
}

在这个例子中,Cat类继承了Animal类。Cat类中重写了sleep方法,并使用super.sleep()来调用父类中的sleep方法。运行这个程序,输出结果如下:

Tom is sleeping.
Tom is also purring.

可以看到,Cat类的sleep方法首先调用了父类的sleep方法,再输出了一些自己的内容。

总结一下,super关键字的用法如下:

1. 调用父类的构造方法:使用super关键字可以在子类的构造方法中调用父类的构造方法,实现对父类属性的初始化。

2. 访问父类的属性和方法:使用super关键字可以在子类中访问父类中被子类覆盖的属性和方法。

3. 强制转换对象类型:在多态的情况下,使用super可以将一个子类对象强制转换为父类对象。

通过学习super关键字,我们可以更好地理解Java中类的继承和多态机制,从而更加熟练地编写Java程序。

  
  

评论区