黑马程序员技术交流社区

标题: instanceof是什么关键字,是做什么的啊? [打印本页]

作者: 张强1    时间: 2013-7-21 23:37
标题: instanceof是什么关键字,是做什么的啊?
本帖最后由 杨兴庭 于 2013-7-22 21:19 编辑

instanceof是什么关键字,是做什么的啊?要怎样用那,给个例子?
作者: Rainbow    时间: 2013-7-21 23:54
A instanceof B  返回值是boolean类型。判断A是否是B类的实例对象(子类也可以)。是就返回true,不是就返回false。
Person  p = new Person();
Student s= new Student();//假设Student 已经继承Person
s.instanceof Person 就返回true了
作者: 张强1    时间: 2013-7-21 23:55
Rainbow 发表于 2013-7-21 23:54
A instanceof B  返回值是boolean类型。判断A是否是B类的实例对象(子类也可以)。是就返回true,不是就返 ...

哦,这样的啊,谢了
作者: liuzhming    时间: 2013-7-22 00:02
instanceof用于判断某个对象是否是某个类的实例。它的语法形式:引用名 instanceof 类名(接口名),返回一个boolean值。
class Parent
{
String name;
Parent(String name)
{
this.name = name;
}
}

class Child extends Parent
{
Child(String name)
{
super(name);
}
}
public class test {
public static void main(String args)
{
        Parent p = new Child("lisi");
        System.out.println(p instanceof Parent);//结果为true,因为Child是Parent的子类,根据//继承,子类就是父类,因此Child也可以看做是Parent的实例。
}
}

作者: 张强1    时间: 2013-7-22 10:23
liuzhming 发表于 2013-7-22 00:02
instanceof用于判断某个对象是否是某个类的实例。它的语法形式:引用名 instanceof 类名(接口名),返回一 ...

这个例子好,懂了
作者: Super_Class    时间: 2013-7-22 16:35
一般情况下,实现对象的转型前,需要做的健壮性判断。

否则可能会发生转换异常

作者: 付龙    时间: 2013-7-22 16:49
用来判断对象是否是类的实例或子类的实例
instanceof其实是一个双目运算符
它的返回值类型是boolean类型的
打比方:String a = "hello word!";  


          boolean isObject = a instanceof Object;  

作者: 深圳在漂移    时间: 2013-7-23 10:36
A instanceof B ,返回值为boolean类型,用来判断A是否是B的实例对象或者B子类的实例对象。如果是则返回true,否则返回false。
如:Person p = new Person() ; //
Student s = new Student() ; //Student是Person的子类
Animal a = new Animal() ;
s instanceof Student //返回true      因为他是Student的实例对象
s instanceof Animal//返回false          因为他既不是Student的实例对象 ,也不是Person子类的实例对象
s instanceof Person//返回true          因为他是Person子类的实例对象
作者: 黑马龙子    时间: 2013-7-25 20:11
instanceof是Java的一个二元操作符,是Java的保留关键字,它的作用是测试它左边的对象是否是它右边的类的实例,返回的是boolean类型的数据。可以用在继承中的子类的实例是否为父类的实现。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2