2017-09-12 15 views
-3

Javaインターフェイスメソッドはプリミティブ型(int、stringなど)を返すことができますか?どのように私はJavaのインターフェイスが非プリミティブ型のオブジェクトを返すことができますか?

メソッドを "BitMap"型に戻したいと思っています。しかし、私のIDEは、「ビットマップ」のシンボルを解決できませんと不平を言っている:

public interface MyContract { 
    public BitMap getBitMap(); 
    .... 

は私がこれをやってから私を妨げているのインターフェイスに固有の何かを誤解してい疑いますか?

+1

おそらく、インポートステートメントがありません。 – Eran

+0

は、それがカスタマイズクラスでない限り、BitMapではなくBitmapではありません。 –

+1

ugh typing、im dumb、okこれを削除してください。 welp too late – red888

答えて

6

Javaインタフェースのメソッドのみがプリミティブ型を返すことができ(int型、文字列などを?)

いいえ、彼らは任意の有効なデータ型を返すことができます。

"BitMap"型を返すメソッドを用意したいと思います。しかし、私のIDEは不平を言っています。シンボル「BitMap」を解決できません:

このJavaソースファイルには、BitMapという名前のタイプはありません。 importステートメントがありません。そして、たぶん型名にタイプミスがあります。たとえば、on Android, android.graphics.Bitmapの名前には大文字のMはありません。

0

インターフェイスは、任意のオブジェクトタイプを返すことができます。

Bitmapを試してみてください代わりに

0

Javaインタフェースのメソッドはプリミティブ型を返すことができ(int型、文字列などを?)

あなたがオブジェクトまたはプリミティブを返しているかどうかを問題ではありません。 Javaの抽象メソッドの場合

必要なインポートを行っているか、適切なクラス名を入力していることを確認してください。IDEの問題が他の場所にあるようです。

0

エラーや提案は、右ここにありカスタム1を標準Bitmapクラスを意味していないと仮定すると:

  1. ビットマップBitmap
  2. Interfacesを書かれているが、あなたので、何のプライバシーのキーワードを持っていません冗長であるため、メソッドからpublicを削除できます。

これはとにかく、あなたがインターフェイスから好きなタイプを返すことができ、結果

public interface IMyContract { 
    Bitmap getBitMap(); 
    .... 
} 

する必要があり、この種

0

の制限がないあなたは、例えば(参照型を返すことができます、Objectで試してみてください)。

  1. クラスが定義されているパッケージのインポートを確認します。
  2. パッケージを挿入した後に、クラスに適切なアクセス修飾子があるかどうかを確認します。
関連する問題