-1

呼び出されたクラスがAあり、その中で宣言された文字列があります。B and Cそして、私はから継承された他の2つのクラスを持っていますA

public abstract class A {
    protected String ss="";

    public abstract String someMethod();
}

public class B extends A{
    public String someMethod(){
        int i=8;
        return ss+="$"+i;
    }
}

public class C extends A {
    public String someMethod() {
        int i=9;
       return ss+="$"+i;
    }
}

テストコード:

A aa = new B();
aa.someMethod();

A aaa = new C();    
aaa.someMethod();

印刷するときaaa.someMethod();- クラス B と C の文字列が追加されていないのはなぜですか? それらを追加してほしい。これどうやってするの ?

4

2 に答える 2

2

/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/javac A.java B.java C.java Test.java

/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java テスト

$8
$9

B メソッド someMethod() は B メソッドを呼び出し、C メソッド someMethod() は C メソッドを呼び出します...

ファイル A.java:

public abstract class A
{
    protected String ss="";
    public abstract String someMethod();
}

ファイル B.java

public class B extends A
{
    public String someMethod()
    {
        int i=8;
        return ss+="$"+i;
    }
}

ファイル C.java

public class C extends A
{
    public String someMethod()
    {
        int i=9;
        return ss+="$"+i;
    }
}

ファイル Test.java

public class Test
{
    public static void main(String pArgs[])
    {
        A aa = new B();
        System.out.println(aa.someMethod());
        A aaa = new C();
        System.out.println(aaa.someMethod());
    }
}
于 2012-12-19T20:07:12.217 に答える