📌  相关文章
📜  教资会网络 | UGC NET CS 2016 年 7 月 – III |问题 20(1)

📅  最后修改于: 2023-12-03 15:26:03.696000             🧑  作者: Mango

UGC NET CS 2016 年 7 月 – III | 问题 20

UGC NET CS 2016年7月-III考试是印度大学委员会(UGC)主办的全国资格测试。该考试旨在为拥有计算机科学硕士学位的人提供担任印度大学和学院讲师的资格认证。

问题描述

在Java中,以下哪些可用于重写父类方法?

A. static B. final C. abstract D. native

介绍

Java是面向对象编程语言,允许子类重写父类方法。这意味着子类可以覆盖超类的实现,使其具有不同的行为。在Java中,同名方法的实现可以在子类中覆盖超类方法。

在Java中,仅有以下三个修饰符可以用于重写超类方法:

1. override

子类可以使用"override"关键字来覆盖超类方法。这样做将告诉编译器,子类方法是对超类方法的实现。

以下是一个使用override关键字的示例:

public class SuperClass {
   public void print() {
      System.out.println("SuperClass");
   }
}

public class SubClass extends SuperClass {
   @override
   public void print() {
      System.out.println("SubClass");
   }
}
2. final

如果子类方法被声明为final,则其超类方法不能被重写。

以下代码片段演示了如何在Java中使用final关键字:

public class SuperClass {
   public final void print() {
      System.out.println("SuperClass");
   }
}

public class SubClass extends SuperClass {
   // 编译时错误,因为不能重写父类方法
   public void print() {
      System.out.println("SubClass");
   }
}
3. abstract

如果父类中的方法是抽象的,则其子类必须重写该方法。抽象方法是一种没有实现的方法,因此其实现必须在派生类中实现。

以下代码片段演示了如何在Java中使用abstract关键字:

public abstract class SuperClass {
   public abstract void print();
}

public class SubClass extends SuperClass {
   public void print() {
      System.out.println("SubClass");
   }
}

根据上面的介绍,我们可以得出以下结论:

  • “static”和“native”关键字不能用于重写超类方法。
  • “final”关键字可以用于超类方法以禁止方法的覆盖。
  • “abstract”关键字可以用于超类方法以要求其子类实现该方法。

因此,根据问题描述,我们可以得出答案为C. abstract。

结论

Java中,子类可以使用"override"关键字来覆盖超类方法。使用final关键字可以禁止超类方法被子类重写,abstract关键字可以强制要求子类重写超类方法。 "static"和"native"关键字不能用于重写超类方法。根据问题描述,正确答案为C. abstract。