instanceof用法及本质:
import static java.lang.System.*;
public class InstanceofTest{
public static void main(String[] args){
//-引用变量hello的编译类型为Object,实际类型为String,Object类为所有类的父类
Object hello="hello";
//-String 与Object存在继承关系,可以进行 instanceof 计算,返回true
out.println(hello instanceof Object);
//-hello实际类型为String,可以进行 instanceof 计算,返回true
out.println(hello instanceof String);
//-Math与Object存在继承关系,可以进行 instanceof 计算
//-但hello实际类型为String,与Math不存在继承关系,不能转换,所以返回false
out.println(hello instanceof Math);
//-String类型实现了Comparable接口,可以进行 instanceof 计算,返回true
out.println(hello instanceof Comparable); //-a为彻头彻尾的String 类型,与Math不存在继承关系,不可以进行 instanceof 计算,编译就不会通过,会报错
String a="hello";
//out.println(a instanceof Math);
}
}
运行结果:

总结:
1、用于判断前面的对象是否是后面的类,或者其子类、实现类的实例,是,返回true,不是,返回false
2、前面对象的编译时类型,要么与后面 的类相同,要么与后面的类具有父子继承关系,否则会引起编译错误
instanceof用法及本质:的更多相关文章
- typeof()和instanceof()用法区别
typeof()和instanceof()用法区别: 两者都是用来判断数据类型的 typeof()是能用来判断是不是属于五大类型Boolean,Number,String,Null,Undefined ...
- Java中instanceof用法
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法:resu ...
- javascript中typeof和instanceof用法的总结
今天在看相应的javascript书籍时,遇到了typeof和instanceof的问题,一直不太懂,特地查资料总结如下: JavaScript 中 typeof 和 instanceof 常用来判断 ...
- js中typeof与instanceof用法
今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...
- java中的instanceof用法详解
instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据.用它来判断某个对象是否是某个Clas ...
- java中的instanceof用法
Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: ...
- js中typeof与instanceof用法区别
今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...
- java :instanceof用法
Java中的instanceof是用来判断某个实例是不是某个类的实例. 例如:A instanceof B (A为某个实例,B为某个类名) 如果A为B的实例,则:(A instanceof B)==t ...
- JS中typeof和instanceof用法区别
typeof和instanceof都可以用来判断变量 1.typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果: number,boolean,string,functi ...
随机推荐
- [Python] 牛顿插值
插值公式为: 差商递归公式为: # -*- coding: utf-8 -*- #Program 0.4 Newton Interpolation import numpy as np import ...
- SignalR (一)
关于SignalR 因近期要在项目中使用 SignalR 来开发实时web 程序,可在这之前,对SignalR 的了解并不是很多,甚至不知道 SignalR 到底是用来干什么的,可是在经过这段时间的学 ...
- xss总结漏洞篇
Xss漏洞 Xss漏洞出现在1996年.Xss漏洞又名跨站脚本漏洞 Xss可能造成的危害 网站弹框(刷流量) 网站挂马 会话劫持 Cookie被盗取 用户提权 账号被盗 尽量DDOS 蠕虫攻击 Xss ...
- C# 日志记录工具类--LogHelper.cs测试
C# 日志记录工具类:(适用于不想使用log4j等第三方的Log工具的时候,希望自己写个简单类实现)LogHelper.cs内容如下: using System; using System.Diagn ...
- 解决Specifying a namespace in include()withou providing an app_name
python3 Django 环境下,如果你遇到namespace没有注册以及在根目录下urls.py中的include方法的第二个参数namespace添加之后就出错的问题.请在[app_name] ...
- 3.circle (圆)
1.HTML代码: <div class="circleOne"></div> <br/> <div class="circle ...
- PHP过滤各种HTML标签的表达式,值得收藏
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 【原】解决Debug JDK source 无法查看局部变量的问题方案(重新编译rt.jar包)
一.问题阐述 首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值 ...
- WMI 连接远程计算机并进行局域网进程扫描
On Error Resume Next Dim myArray(231) myArray(0)="smss.exe"myArray(1)="csrss.exe" ...
- Spring MVC 自定义视图
实现View import org.springframework.stereotype.Component; import org.springframework.web.servlet.View; ...