一.三个内置函数 1.issubclass(a, b) 判断a类是否是b类的子类 class Foo: pass class Zi(Foo): pass class Sun(Zi): pass print(issubclass(Zi,Foo)) #True print(issubclass(Zi,Sun)) # False issubclass 2.type(对象) 返回该对象的数据类型,精确识别(即不向上兼容) class Animal: pass class Cat(Animal):
判断类型是否被继承.实现 1.判断是否实现了指定接口 添加测试类: public class TestClass2 : TestClass1 { } public class TestClass1 : TestClass0 { public override void TestMethod() { } } public class TestClass0 : ITestInterface { public virtual void TestMethod() { } } public interfa
JVM是如何知道java.lang包中的类的?JVM又是如何知道我们应用中的类的?我们的应用中明明是有某个类, 但是JVM却抛出ClassNotFoundException,这是为什么?XxxImpl类已经实现了接口Xxx,但是却抛出XxxImpl does not extend from Xxx,这是为什么?使用类型转换时,可能会抛出 aa.bb.cc.XXX can not cast to aa.bb.cc,这又是为什么?等等诸多看似诡异情况,其实都是因为ClassLoader. 了解反射的