相关疑难解决方法(0)

是否有充分的理由为抽象类的公共构造函数

通过直接调用abstract类的构造函数来创建对象是不可能的.abstract只能从派生类中调用类的构造函数.因此,在我看来,抽象类的构造函数必须是或者是protected私有的(后者用于限制将构造函数用于包中的派生类的异常情况).然而,Java允许abstract类的构造函数public.

有没有在它是任何情况下有用申报的构造函数abstract的类要public,而不是protected或包专用?

这与" 抽象类构造函数访问修饰符 " 这个问题并不完全相同:显然你可以声明一个构造函数public; 我想知道是否有过任何好的理由这样做.在我看来,没有.我看到C#具有类似的特性.

java constructor abstract-class

38
推荐指数
1
解决办法
6879
查看次数

protected vs public构造函数用于抽象类?有区别吗?

这个问题出于好奇.是否有区别:

public abstract class MyClass
{
    public MyClass()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

public abstract class MyClass
{
    protected MyClass()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# constructor protected public

35
推荐指数
2
解决办法
1万
查看次数

标签 统计

constructor ×2

abstract-class ×1

c# ×1

java ×1

protected ×1

public ×1