Java反射之类的实例对象的三种表示方式总结

 更新时间:2016年10月02日 09:18:09   投稿:jingxian  
下面小编就为大家带来一篇Java反射之类的实例对象的三种表示方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

如下所示:

<span style="font-size:14px;">package com.imooc.reflect;

public class ClassDemo1 {
public static void main(String[] args) {
  
  //Foo的实例对象如何表示
  Foo foo1 = new Foo();//foo1就表示出来了
  //Foo这个类,也是一个实例对象,Class类的实例对象,如何表示呢、
  //任何一个类都是Class的实例对象,这个实例对象那个有三个表示方式
  //第一种表示方式--》实际在告诉我们任何一个类都有一个隐含的静态成员变量class
  Class class1 = Foo.class;
  
  //第二种表示方式 已经知道该类的对象通过getClass方法
  Class class2 = foo1.getClass();
  
  /*
   * 官网class1 ,class2表示了Foo类的类类型(class type)
   * 万事万物 都是对象
   * 类也是对象,是Class类的实例对象
   * 这个对象我们称为该类的类类型
   */
  //不管class1 or class2都代表了Foo类的类类型,一个类只可能是Class;类的一个实例对象
  System.out.println(class1==class2);//true'
  
  //第三种表达方式
  Class class3 = null;
  try {
    class3 = Class.forName("com.imooc.reflect.Foo");
  } catch (ClassNotFoundException e) {
    e.printStackTrace();
  }
  //
  System.out.println(class2==class3);//true
  
  //我们完全尅通过类的类类型创建该类的对象实例--》通过class1 or class2 or class3
  //创建Foo类的实例对象
  try {
    //需要有无参数的构造方法
    Foo foo = (Foo) class1.newInstance();//需要强转
    foo.print();
  } catch (Exception e) {
    e.printStackTrace();
  }
}
}
//
class Foo{
  public void print(){
    System.out.println("foo");
  }
}

</span>

以上就是小编为大家带来的Java反射之类的实例对象的三种表示方式总结的全部内容了,希望对大家有所帮助,多多支持脚本之家~

相关文章

  • 详解Java设计模式编程中的中介者模式

    详解Java设计模式编程中的中介者模式

    这篇文章主要介绍了Java设计模式编程中的中介者模式,文中举了典型的同事类与中介者类的例子来解释说明,需要的朋友可以参考下
    2016-02-02
  • Java 配置log 将日志信息输出到指定日志文件中

    Java 配置log 将日志信息输出到指定日志文件中

    这篇文章主要介绍了Java 配置log 将日志信息输出到指定日志文件中,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 解决IDEA中不能正常输入光标变粗的问题

    解决IDEA中不能正常输入光标变粗的问题

    这篇文章主要介绍了在IDEA中不能正常输入光标变粗的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-09-09
  • Java包机制及javadoc详解

    Java包机制及javadoc详解

    为了更好地组织类,Java提供了包机制,用于区别类名的命名空间,一般利用公司域名倒置作为包名,这篇文章主要介绍了Java包机制以及javadoc,需要的朋友可以参考下
    2022-10-10
  • 详解使用MyBatis Generator自动创建代码

    详解使用MyBatis Generator自动创建代码

    这篇文章主要介绍了使用MyBatis Generator自动创建代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Mybatis中使用万能的Map传参实现

    Mybatis中使用万能的Map传参实现

    在编程中,有可能遇到我们的实体类或者数据库中表的字段或参数过多的情况,那这时候用Map传参是比较理想的选择,本文就详细的介绍一下如何使用,感兴趣的可以了解下
    2021-07-07
  • java项目中classpath指向哪里

    java项目中classpath指向哪里

    这篇文章介绍了java项目中classpath指向哪里及工作原理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • java多线程实现交通灯管理系统

    java多线程实现交通灯管理系统

    这篇文章主要为大家详细介绍了java多线程实现交通灯管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java中Date和Timestamp类型的相互转换方式

    java中Date和Timestamp类型的相互转换方式

    这篇文章主要介绍了java中Date和Timestamp类型的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • mybatis-plus支持null字段全量更新的两种方法

    mybatis-plus支持null字段全量更新的两种方法

    本文主要介绍了mybatis-plus支持null字段全量更新的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论