码迷,mamicode.com
首页 > 编程语言 > 详细

java中instanceof和getClass()的作用

时间:2015-09-19 22:41:12      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:

初学者难免有点混淆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 => true // <================ HERE 
4、o2 instanceof B => true

分析==>

用法:
        英文:result = object instanceof class

        中文:结果 = 某个实例对象  instanceof   某个类名

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

总结:
                   S(Object) instanceof T(Class)
    简单来说,instanceof就是判断对象S是否是T类的实例,或者是T类的子类实例。

二、getclass


    演示二:
1、o1.getClass().equals(A.class) => true 
2、o1.getClass().equals(B.class) => false
3、o2.getClass().equals(A.class) => false // <===============HERE
4、o2.getClass().equals(B.class) => true 
分析==>
getClass方法在JDK1.8中定义如下:
/**
*    Returns the runtime class of this Object
*/
public final native Class<?>  getClass();

功能:
     返回在运行时类的对象。
getClass() will be useful when you want to make sure your instance is NOT a subclass of the class you are comparing with.
 

三、instanceof与getclass的区别

1、作用:
  • instanceof: 主要用来判断  对象与类之间的关系。
  • getclass: 主要用来判断  类与类之间的关系。
 
参考:

java中instanceof和getClass()的作用

标签:

原文地址:http://www.cnblogs.com/aoguren/p/4822380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!