您的位置:首页 > 编程语言 > Java开发

java中instanceof 关键字

2016-02-26 16:50 609 查看
instanceof就是判断object这个实例是不是属于class的。result = object
instanceof class。如果是利用多态来创建的,fu f = new zi();res = f instanceof fu; res = f instanceof zi; 都是true。具体的看下面,这里是写给自己看的。

下面是摘录自百度百科:http://baike.baidu.com/link?url=imOQ8d9FETB1fssv7m6TiwSQtp1LoFq5DbgPnQHiMdrBZUBX2sIjJrfGja-zXKzgkqYia9iDCXMkxkRTARrMnK。

instanceof是Javaphp的一个二元操作符(运算符),和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。可以用来判断继承中的子类的实例是否为父类的实现。相当于c#中的is操作符。java中的instanceof运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:

result = object instanceof class

参数:

Result:布尔类型。

Object:必选项。任意对象表达式。

Class:必选项。任意已定义的对象类。

说明:

如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

例子如下:

package com.instanceoftest;

interface A{}

class B implements A{

}

class C extends B {

}

class instanceoftest {

public static void main(String[] args){

A a=null;

B b=null;

boolean res;

System.out.println("instanceoftest test case 1: ------------------");

res = a instanceof A;

System.out.println("a instanceof A: " + res);

res = b instanceof B;

System.out.println("b instanceof B: " + res);

System.out.println("/ninstanceoftest test case 2: ------------------");

a=new B();

b=new B();

res = a instanceof A;

System.out.println("a instanceof A: " + res);

res = a instanceof B;

System.out.println("a instanceof B: " + res);

res = b instanceof A;

System.out.println("b instanceof A: " + res);

res = b instanceof B;

System.out.println("b instanceof B: " + res);

System.out.println("/ninstanceoftest test case 3: ------------------");

B b2=(C)new C();

res = b2 instanceof A;

System.out.println("b2 instanceof A: " + res);

res = b2 instanceof B;

System.out.println("b2 instanceof B: " + res);

res = b2 instanceof C;

System.out.println("b2 instanceof C: " + res);

}

}

/*

result:

instanceoftest test case 1: ------------------

a instanceof A: false

b instanceof B: false

instanceoftest test case 2: ------------------

a instanceof A: true

a instanceof B: true

b instanceof A: true

b instanceof B: true

instanceoftest test case 3: ------------------

b2 instanceof A: true

b2 instanceof B: true

b2 instanceof C: true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: