繁体   English   中英

如何在Java中检查类的类型?

[英]How to check type of class in Java?

我是Java的新手。 我写了一个带有方法的,它检查对象类型。 我在谷歌进行了初步搜索,很难理解在线可用的文章。 我将不胜感激任何帮助。 我知道那行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");
        }
    }
}

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

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

您可以使用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");
    }

这样你也可以检查。

  Dog s = new  Dog(dog, dunno, nowaga);

  if(s.getClass().equals( Dog.class))
  {
    System.out.println("dunno how to woof");
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM