-2

Java チュートリアルでは、

http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html

クラスにコンストラクターを提供する必要はありませんが、これを行うときは注意が必要です。コンパイラは、コンストラクターを持たないすべてのクラスに対して、引数のない既定のコンストラクターを自動的に提供します。このデフォルト コンストラクターは、スーパークラスの引数なしのコンストラクターを呼び出します。この状況では、スーパークラスに引数のないコンストラクターがない場合、コンパイラーは文句を言うので、それを確認する必要があります。クラスに明示的なスーパークラスがない場合、引数のないコンストラクターを持つ Object の暗黙的なスーパークラスがあります。

このコンパイルエラーが発生する可能性のある例を誰かに教えてもらえますか?

4

3 に答える 3

2
class A
{
    int a;
    A(int a)
    {
        this.a=a;
    }
}

class B extends A
{
    B(int a)
    {
        this.a=a;
    }
}

class C 
{
    public static void main(String args[])
    {
        B obj=new B(20);
        System.out.println("a = "+obj.a);
    }
}


Error:Constructor A in class A cannot be applied to given types;
{
^
required: int
found:no arguments
reason: actual and formal argument lists differ in length
于 2013-06-13T17:23:58.820 に答える
2
class A
{
    public A(int n)
    {

    }
}

class B extends A
{

}
于 2013-06-13T16:38:34.903 に答える