如何检查Java中的类类型?

时间:2018-10-06 19:57:16

标签: java

我是Java的新手。我写了一个带有方法的class,该方法检查Object类型。我在google中进行了初步搜索,因此很难理解在线提供的文章。我将不胜感激任何帮助。我知道 if(Object == dog)行不起作用。我该如何解决?

public class dog {
    private String name;
    private String rasa;
    private int waga;

    public dog(String name, String rasa, int waga) {
        this.name = name;
        this.rasa = rasa;
        this.waga = waga;
    }
    public void printdog()
    {
        System.out.println(this.name);
        System.out.println(this.rasa);
        System.out.println(this.waga);
        if(Object() == dog)
        {
            System.out.println("dunno how to woof");
        }
    }
}

2 个答案:

答案 0 :(得分:2)

this.getClass()返回对象的类。

的实例告诉您它是否属于这种类型。换句话说,狗是动物的实例,狗也是狗的实例。

答案 1 :(得分:0)

您可以使用instanceof关键字检查Java中的对象类型。

例如:

public class Stack  
{
    public Stack() {

}
public static void main(String[] args){
  Stack s1 = new  Stack();
  System.out.println(s1 instanceof Stack);
}
}

在您的代码中,您可以执行以下操作:

if(this instanceof dog)
    {
        System.out.println("dunno how to woof");
    }