zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    使用递归遍历目录
    Isseck 定位文件流
    二:C标准库文件I/O函数
    IPC进程通信
    操作系统知识总结
    Makefile简单使用
    人际交往
    AIX ksh补全命令
    java.lang.IllegalArgumentException: Wildcard string cannot be null or empty.
    WEB项目实现QQ在线推广功能
  • 原文地址:https://www.cnblogs.com/jesse-zhao/p/10632245.html
Copyright © 2011-2022 走看看