instanceof简单用法
语法: 对象 instanceof 类;
含义:如果这个对象时这个类或者这个类的子类的实例化,那么结果及时ture, 否则 false。
常常用来判断一个类是否是某个类的子类,以此判断A类是否继承或者间接继承B类。
实例1:
一、对象A是类B的子类的实例化对象
package equalsTest; public class Test00
{
public static void main(String[] args)
{
Father f = new Father();
User1 u1 = new User1();
User2 u2 = new User2(); //u1对象是Father类的子类的实例化,所以返回ture
if(u1 instanceof Father)
{
System.out.println("ture");
}
else System.out.println("flase");
}
} //父类
class Father {} //子类1
class User1 extends Father {} //子类2
class User2 extends Father {}
此时返回的结果就是ture;u1对象是不是Father类的实例化,但是是Father子类的实例化,所以是ture
二、如果是下面这种情况:
如果返过来,父类的对象 instanceof 子类
if(f instanceof User1)
{
System.out.println("ture");
}
else System.out.println("flase");
结果是false; 此时f不是User1类的实例化对象,同时也是不是User1子类的实例化对象,所以false。
三、两个类有间接继承关系
package equalsTest; public class Test00
{
public static void main(String[] args)
{ Father f = new Father();
User1 u1 = new User1();
User2 u2 = new User2(); //u1对象是Father类的子类的实例化,所以返回ture
if(u2 instanceof Father)
{
System.out.println("ture");
}
else System.out.println("flase");
}
} //父类
class Father {} //子类1
class User1 extends Father {} //子类2间接继承Father
class User2 extends User1 {}
此时结果是:ture; 所以如果对象时这个类的实例化,或者子类的实例化,或者子类的子类的实例化。
所以任何对象 instanceof Object都是ture
instanceof简单用法的更多相关文章
- Android MultiType第三方库的基本使用和案例+DiffUtil的简单用法
1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面. 这种还是比较简单的类型.因为一个页面也就这种类型. ...
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
随机推荐
- C#winform窗口登录和数据的增删改查
工具:VS2013 数据库SqlServer2008 两张表,一个用户登录表,一个资料表用于增删改查 .先把表建好.可以根据我发的图建立,这样下面的代码修改的就少. 资料部分SQL CREATE TA ...
- js常用身份校验规则
js常用身份校验规则 var Validator = { extractBirth: function(id) { // 身份证提取出生年月 var re = null, split, year, m ...
- python拼接字符串方法汇总
python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...
- 前端笔记-jquery
一.什么是jquery 1.jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team 2.jQuery是继prototype之后又一个优秀的 ...
- configure,make,make install作用和关系的一些理解
一. 整体关系 为求直观,画了一张大致关系图: 我个人的理解是这样的,将编译安装比作做菜的话, △ configure的作用,以厨师的构想以参数的形式作为输入,生成并输出菜谱,菜谱包含两个部分---- ...
- 贝叶斯公式与最大后验估计(MAP)
1, 频率派思想 频率派思想认为概率乃事情发生的频率,概率是一固定常量,是固定不变的 2, 最大似然估计 假设有100个水果由苹果和梨混在一起,具体分配比例未知,于是你去随机抽取10次,抽到苹果标记为 ...
- ssh服务简介及应用与服务的进程的类型
SSH ,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利 ...
- (转)IIS7无法读取配置文件解决办法
web.config 太大导致”出现无法读取配置文件,因为它超过了最大文件大小”错误问题的解决方法,如下:HKLM\SOFTWARE\Microsoft\InetStp\Configuration\M ...
- 知识点---前端处理支持emoji表情
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++指针和字符串
]="rose'; cout<<flowers<<endl; 数组名是第一个元素的地址,