instanceof关键字
Java中可以使用instanceof关键字判断一个对象是否是某个类(或接口)的实例,语法格式如下所示。
对象 instanceof类(或接口)
在上述格式中,如果对象是指定的类的实例对象,则返回true,否则返回false。
案例
public class Animal {
public void shout(){
System.out.println("动物叫");
}
}
public class Dog extends Animal{
public void shout(){
System.out.println("汪汪汪...");
}
public void eat(){
System.out.println("吃骨头");
}
}
public class Example17 {
public static void main(String[] args) {
Animal a1=new Dog();//通过向上转型实例Animal对象
System.out.println("Animal a1=new Dog():"+(a1 instanceof Animal));
System.out.println("Animal a1=new Dog():"+(a1 instanceof Dog));
Animal a2=new Animal();//实例Animal对象
System.out.println("Animal a1=new Animal():"+(a2 instanceof Animal));
System.out.println("Animal a1=new Animal():"+(a2 instanceof Dog));
}
}
Example中四个输出语句
1.是通过instanceof关键字判断对象a1是否是Animal类的实例 ture
2.是通过instanceof关键字判断对象a1是否是Dog类的实例;ture
3.是通过instanceof关键字判断对象a2是否是Animal类的实例 ture
4.通过instanceof关键字判断对象a2是否是Dog类的实例。FALSE
Object类
常用方法
方法名称 | 方法说明 |
boolean equals() | 判断两个对象是否“相等” |
int hashCode() | 返回对象的哈希码值 |
String toString() | 返回对象的字符串表示形式 |
在实际开发中,通常希望对象的toString()方法返回的不仅仅是基本信息,而是对象特有的信息,这时可以重写Object类的toString()方法。
案例
public class Animal {
public String toString(){
return "这是一个动物" ;
}
}
public class Example19 {
public static void main(String[] args) {
Animal animal =new Animal();
System.out.println(animal.toString());// 调用toString()方法并打印
}
}
输出结果
这是一个动物