Java class

一般步骤

  • 编写java文件
  • 编译java文件,得到class文件或jar文件
  • 启动java虚拟机,寻找class文件或jar文件(classloader参与该过程)
  • 将class文件加载为Class对象(classloader参与该过程)
  • 初始化Class对象,生成实例(classloader参与该过程?)
  • 调用

什么是Class

Java中一切皆为对象,Class对象可以暂时简单的、不准确的理解为class文件在内存中的体现

问题:对象又是什么?结构化的数据?

Class 对象获取

  • 通过实例对象获取
Object o = new Object();
Class c = o.getClass();
  • 通过类名.class获取
Class c = Object.class;
  • 通过Class.forName()方法获取
Class.forName("java.lang.Object")
  • 通过ClassLoader.loadClass()方法获取
ClassLoader.getSystemClassLoader().loadClass("java.lang.Object");

Class 中一些有用的信息

  • 获取Class载入路径
Class.getProtectionDomain().getCodeSource().getLocation()

问题:ProtectionDomain是个什么东西?

Class Cast 的限制条件

Class Cast 成功需要满足哪些条件?

你可能感兴趣的:(Java class)