2017-07-20 10 views
0

PdCarクラスがCar型にアップキャストされているようですが、Carインターフェイスにないメソッドを使用する方法を見つけることができません。私はちょうど興味がある、readLabelメソッドにアクセスする方法はありますか?それとも不可能なのでしょうか?おかげさまで メソッド内で定義されたクラスのメソッドにアクセス

interface Car{ 

    } 

public class Parcel5 { 

    public Car car(String s){ 

     class PdCar implements Car { 
      private String label; 
      private PdCar(String whereTo){ 
       label = whereTo; 
        } 
      public String readLabel(){ return label; } 
      } 
     return new PdCar(s); 
      } 

public static void main(String [] args){ 

    Parcel5 p = new Parcel5(); 
    Car d = p.car("toyota"); 

    } 
} 

答えて

0

PdCarクラスのような車のタイプ

なしにアップキャストしているようです。

methhod readLabel()にアクセスする場合は、インターフェイスCarに宣言する必要があります。

私はCarインターフェースにないメソッドを使用する方法を見つけることができません。私はちょうど興味がある、readLabelメソッドにアクセスする方法はありますか?それとも不可能なのでしょうか?ありがとう。

interface Car{ 
    String readLabel() 
} 

public class Parcel5 { 

    public Car car(String s){ 

     class PdCar implements Car { 
      private String label; 
      private PdCar(String whereTo){ 
       label = whereTo; 
        } 
      public String readLabel(){ return label; } 
      } 
     return new PdCar(s); 
      } 

public static void main(String [] args){ 

    Parcel5 p = new Parcel5(); 
    Car d = p.car("toyota"); 
    System.out.println(d.readLabel()); 
    } 
} 
関連する問題