我是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");
}
}
}
答案 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");
}