[英]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.