Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字有什么区别

转载 2007年09月14日 15:50:00
       isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。
        通常调用格式是
        Class1.isAssignableFrom(Class2)
        调用者和参数都是 java.lang.Class 类型。
        而 instanceof 是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。
        格式是: oo instanceof TypeName
        第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如 String,InputStream。
        用下面的代码进行测试,我们就可以发现他们的不同之处
        /*
        * Created on 2005-1-29
        */
        package lang.test;
        import junit.framework.TestCase;
        /**
        * <title> LangTest
        * <description>
        * <company>
        * @version
        * @since
        *
        *2005-1-29 16:19:28
        */
        public class LangTest extends TestCase
        {
        /**
        * Constructor for LangTest.
        * @param name
        */
        public LangTest(String name)
        {
        super(name);
        }
        public void testIsAssignedFrom1()
        {
        assertTrue( String.class.isAssignableFrom(Object.class));
        }
        public void testIsAssignedFrom2()
        {
        assertTrue( Object.class.isAssignableFrom(Object.class));
        }
        public void testIsAssignedFrom3()
        {
        assertTrue( Object.class.isAssignableFrom(String.class));
        }
        public void testInstanceOf1()
        {
        String ss = "";
        assertTrue( ss instanceof Object);
        }
        public void testInstanceOf2()
        {
        Object o = new Object();
        assertTrue( o instanceof Object);
        }
        } 

相关文章推荐

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

原地址:http://topic.csdn.net/t/20050127/15/3758173.html 我略作了下修改 Class.isAssignableFrom()是用来判断一个类Class1和...

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类(父类)或接口。 格式为:         Class1.isAssig...

Java Class.isAssignableFrom(Class) 与 instanceof 的区别

superClass.isAssignableFrom(childClass) 属于 Class.java。它的对象和参数都是类,意思是“父类(或接口类)判断给定类是否是它本身或其子类”。我们看一下它...

类方法isAssignableFrom、instanceof和asSubclass的区别及实例

public boolean isAssignableFrom(Classif (List.class.isAssignableFrom(ArrayList.class)) { System.ou...

java数据库连接为何用class.forName().他和new有什么区别。

在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态...

abstract class和 interface 有什么区别?

一、含有 abstract 修饰符的 class 即为抽象类,abstract 类不能创建的实例对象。含有 abstract 方法的类必须定义为abstract class,abstract clas...

C/C++面试题:class和struct有什么区别?

C/C++面试题:class和struct有什么区别? 考点:class和struct的区别 出现频率:☆☆☆☆ 解析: 这里有两种情况下的区别。 (1)C的struct与C++的class...

abstract class和interface有什么区别

abstract class与interface abstract class interface 实例化 不能 不能 类 一种继承关系,一类只能使用一次继承关系。可以通过继承多个接口实现多重继承 ...

Abstract class 和Interface 有什么区别?

本文转载:http://www.iteye.com/topic/760018  含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必...

java abstract class和interface有什么区别

http://hi.baidu.com/tsj2209/blog/item/99dd931a59d879dfad6e759f.html 在Java语言中,abstract class...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)