所以我在面试中被问到这个问题,如果我有一个类A,我如何限制哪些类能够扩展A。例如,如果我只希望C和E类能够扩展A,而B和D类不应该这样做。我提到了泛型中的有界通配符,但我认为这并没有回答这个问题。我不知道新版本的Java中添加了什么新功能。请告诉我正确答案是什么。
vhmi4jdf1#
Sealed classes似乎是限制哪些类可以扩展另一个类的一种方法。此功能自Java 17起可用。禁忌:
示例:
public abstract sealed class Vehicle permits Car, Truck {...}
这限制了只有类Car或Truck可以扩展Vehicle。
1条答案
按热度按时间vhmi4jdf1#
Sealed classes似乎是限制哪些类可以扩展另一个类的一种方法。此功能自Java 17起可用。
禁忌:
示例:
这限制了只有类Car或Truck可以扩展Vehicle。