クラスに実装されている抽象メソッドがありますが、このメソッドをmainから呼び出そうとすると、メソッドリストに表示されません。インターフェイスからのものを除いて、他のすべての方法が表示されます。私は何を間違えたのですか?メインでインターフェイスメソッドをどのように呼び出すのですか?
public interface Printable {
public void print();
}
実装可能です。
@Override
public void print() {
for(int i = 0; i < getLength(); i++){
for(int j = 0; j < getLength(); j++){
System.out.println("o");
}
System.out.println();
}
}
メインで印刷可能なメソッドは使用できません。
if(shapes[i] instanceof Printable) {
shapes[i]
}
試し 'Printable.class.cast(形状[i])と。印刷()'、あなたの形状[i]の[](そうでない場合は、あなたの 'instanceof'印刷可能でないタイプである可能性があり意味をなさないであろうし、その方法は自動的に完了する)。 – Philipp
'shapes {]'の宣言された型は何ですか? –
シェイプ配列(シェイプ)形状が – mrKapplan