有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

两个java类之间的oop继承

嗨,我今天考试了,出现了以下问题,你能告诉我答案吗

假设A和B的代码合并并在没有异常和运行时异常的情况下运行,还假设每个类只实现一次方法运行

什么是确保方法从类B运行的正确答案

A a = new B();
a.run()
  1. 类B应该使用公共访问修饰符实现run()方法
  2. 类A应该使用私有修饰符实现run()方法
  3. 类应使用公共修饰符实现方法运行(字符串s)
  4. 类B应该使用私有修饰符实现run()方法
  5. 类应使用公共修饰符执行run()

你能解释一下吗


共 (1) 个答案

  1. # 1 楼答案

    从那以后,这个问题就没什么意义了,但在这种情况下,我会选择选项1。如果B可分配给A,并且两者都有run()的实现,那么可以推断B是A的子类。子类的实例化将始终执行子类的方法

    从我所能说的来看,选项1是最好的答案

    选项2无法工作,因为调用类无权访问该方法。你会得到一个编译错误

    选项3是一个完全不同的方法签名。目前还不清楚问题是假设使用重载方法还是替换方法。如果是前者,那么就不重要了,因为没有调用该方法。如果是后者,则调用类中会出现编译错误

    选项4不起作用,因为不能缩小父类方法的范围

    选项5看起来与选项2相同