您能否帮助我今天在我的测试中提出的一个真/假问题:
如果子类继承了abstract
方法但未覆盖,则整个子类变为abstract
。这会是true
还是false
?
答案 0 :(得分:1)
看看:
https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html
它说:
当抽象类被子类化时,子类通常为其父类中的所有抽象方法提供实现。但是,如果没有,那么子类也必须声明为abstract。
答案 1 :(得分:0)
我们本周也在课堂上学习抽象课程,作为每周讨论帖子的一部分,我们必须回答Stack Overflow上提出的问题,所以这是我的尝试。
Oracle States:
当抽象类被子类化时,子类通常为其父类中的所有抽象方法提供实现。但是,如果没有,那么子类也必须声明为abstract。
真/假问题的答案是正确的,因为子类方法没有被重写,子类继承了一个抽象方法,因此默认情况下抽象只有抽象类可以包含抽象方法。
因此,可以认为整个子类"变为"抽象也是。如果一个类包含抽象方法,那么该类本身必须声明为abstract。
答案 2 :(得分:-1)
如果抽象方法由子类继承但未被覆盖 整个子类变得抽象。
答案为false
,因为该课程不会自动或神奇地变为abstract
,而是您需要将其标记为abstract
您没有覆盖一个或多个abstract
方法。
相同的概念即使对于interface
也适用,即,如果您没有从abstract
实施(覆盖)一个或多个interface
方法,那么您需要将班级标记为abstract
。
因此,纠正您的句子是,如果一个abstract
方法由子类继承但未被覆盖,则整个子类需要标记为abstract
(这是true
)
答案 3 :(得分:-1)
仅仅因为它是真/假并不意味着你不能附上解释。假设你的老师知道他在做什么并且公平(这可能不是一个有效的假设),那么明确解释为什么你选择你所做的答案可能会有所帮助。如果测试是在线或扫描仪,你不能在测试本身的边缘做出解释,请给他发电子邮件。
我会选择“true”,并解释它实际上 make 类抽象,但它确实使得类抽象是必要的。如果老师在一个写得不好的问题上寻找“真实”,那么你已经回答了“真实”。如果老师在一个技巧问题上寻找“假”,那么你已经证明你已经看到了这个伎俩。我认为这最大化了你获得信用的机会。