21xrx.com
2024-11-25 20:07:01 Monday
登录
文章检索 我的文章 写文章
我最近在学习Java
2023-06-18 02:37:14 深夜i     --     --
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程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复