在Java中instanceof的用法

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

*/

时间: 2024-10-27 08:08:20

在Java中instanceof的用法的相关文章

java中instanceof的用法

A instanceof B 前一个操作数通常是一个引用类型的变量. 后一个操作数通常是一个类(也可以是接口,可以把接口理解为特殊的类). 它用于判断前面的对象是否是后面的类,或其子类.实现类的实例. 注:instanceof运算符前面的操作数的编译时类型:要么与后面的类相同,要么与后面的类具有父子继承关系(谁继承谁都可以). Object hello="Hello"; hello instanceof Object;//true :String与Object有继承关系 hello i

java中instanceof和getClass()的作用

初学者难免有点混淆java中instanceof和getClass()的作用,  下面就来一一讲解.    父类A: class A { }     子类B: class B extends A { }      构造对象 Object o1 = new A(); Object o2 = new B(); 一.instanceof     演示一: 1.o1 instanceof A => true  2.o1 instanceof B => false  3.o2 instanceof A

java中stringBuilder的用法

java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能. 通过用一个重载的

Java中输入的用法

Java中输入 1. 读取输入 1)构建一个Scanner,附属到System.in Scanner in = new Scanner(System.in); 此时可以使用Scanner类的各种方法来读取输入.例如:nextLine方法来读取一行输入 System.out.print("What is your name?"); String name = in.nextLine(); nextLine():    读取的一行中可能包含空格 next():           读取单个

Java中List的用法

List接口对Collection进行了简单的扩充. 它的具体实现类常用的有ArrayList和LinkedList. ArrayList从其命名中可以看出它是以一种类似数组的形式存储,因此它的随机访问速度极快,但插入和移除元素的速度很慢. LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作,不适合随机访问,LinkedList可以当作堆栈.队列和双向队列使用. 一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插

跟王老师学集合(十一)java中Comparator的用法

Java中Comparator的用法 主讲人:王少华  QQ群号:483773664 在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package chapter07_11; public class Person {     private int a

关于时间,日期,星期,月份的算法(Java中Calendar的用法)(一)

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("如今时间

java中instanceof和getClass()的区别分析

本篇文章介绍了,在java中instanceof和getClass()的区别分析.需要的朋友参考下 class A { } class B extends A { } Object o1 = new A();  Object o2 = new B(); o1 instanceof A => true  o1 instanceof B => false  o2 instanceof A => true // <================ HERE  o2 instanceof

java成神之——java中string的用法

java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取指定位置字符和replace的使用 StringBuffer的使用 字符串转换 基本类型的转换 添加字符编码 Base64的编码和解码 结语 java中String的用法 String基本用法 字符串一旦创建在堆中就不可变 字符串声明 String str = "你好"; String s