gpt4 book ai didi

java - 为什么 Java 不允许无法访问其父类(super class)的任何构造函数的子类?

转载 作者:行者123 更新时间:2023-11-30 06:13:53 26 4
gpt4 key购买 nike

这个问题主要引用了Luiggi对这个SO问题的回答: Why can you not inherit from a class whose constructor is private?

我知道 Java 强制每个子类构造函数都必须调用其父类(super class)的构造函数之一。如果父类(super class)的所有构造函数都是私有(private)的,这显然是不可能的。因此,如果理论上子类可以从具有私有(private)构造函数的父类(super class)继承,结果将是您无法在子类上调用构造函数。

但是,如果我无论如何都不想创建子类的实例怎么办?例如,如果我的子类只添加静态字段和方法,而我只对使用父类(super class)的静态字段和方法感兴趣怎么办?那么我就不需要子类的构造函数了。

最佳答案

what if my subclass only adds static fields and methods, and I'm only interested in using the static fields and methods of the superclass

在那种情况下你不需要继承——使用composition !

关于java - 为什么 Java 不允许无法访问其父类(super class)的任何构造函数的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31236180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com