2016-11-20 16 views
-2

私は動物クラスと動物クラスから延びる猫と犬クラスを持っているとしましょう。 今私は犬と猫が同じ名前を持っているかどうか確認したい。 私はこれを試してみた:java異なるクラスの2つの値を比較します

if(kitty.getName().equals(doggy.getName())) 

しかし、それは猫は私が推測犬ではないので、私はこれをやらせないのだろうか?私がまだ比較できる方法はありますか?あるいは、私は本当にこのようなことをしたくないのですか?

+4

実際の例とエラーメッセージが表示されます。明らかにこれはそうではありません。 – nicomp

+0

本当に「equels」と入力しましたか?それともこの質問のタイプですか?それは「平等」とされている。 –

+0

これはタイプミスでした –

答えて

0

プログラムに関する詳細情報を提供する方が良いでしょう。たとえば、エラーメッセージ、getName()メソッドの戻り値の型、およびdogクラスとcatクラスの宣言方法、およびmainの初期化について考えてみましょう。あなたが提供したものについては、比較のために "equals()"を使用することには意味がありません。 (?多分、文字列のような)もちろん、両方の方法の戻り値の型が同じであると仮定し

1

それはあなたの問題は、サンプルコードなしで、あなたの質問からあるものを言うが、のは、次のクラスを取るようにするかなり難しい:

Animalクラス:

public abstract class Animal 
{ 
    String name; 

    public Animal(String name){ 
     this.name = name; 
    } 

    public String getName(){ 
     return name; 
    } 
} 

Catクラス:

public class Cat extends Animal 
{ 
    public Cat(String name) { 
     super(name); 
    } 
} 

Dogクラス:

public class Dog extends Animal 
{ 
    public Dog(String name) { 
     super(name); 
    } 
} 

そして、この例のコード:

Cat cat = new Cat("kitty"); 
    Dog dog = new Dog("doggy"); 

    if (cat.getName().equals(dog.getName())){ 
     System.out.println("true"); 
    } 
    else{ 
     System.out.println("false"); 
    } 

これは、私はあなたが探していると信じて行動を生成します。これはコードの構造とは異なりますか?より簡単に情報を提供してください。

関連する問題