Java反射之类的实例对象的三种表示方式总结
作者:jingxian 发布时间:2023-10-03 09:51:35
标签: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>


猜你喜欢
- 目录1.启动分为两种方式2.如何测量一个应用的启动时间3.应用启动的流程4.减少应用的启动时间的耗时5.如何设计延迟加载DelayLoad1
- 前言在Java8中接口中不再只有抽象方法,还可以有静态方法以及默认方法,此时的接口更像是一个类。我们一起来看看如何使用吧~Java8中,可以
- 开发中对版本进行检查并更新的需求基本是所有应用必须有的功能,可是在实际开发中有些朋友就容易忽略一些细节。版本更新的基本流程:一般是将本地版本
- 在网上有非常多通过射线方式实现的人物行走控制脚本,可是假设仅仅是想通过键盘按键来控制的话。比方进行第三人称视角控制,事实上仅仅须要进行简单的
- IDEA 端口占用解决方法后台开发时经常遇到端口占用问题Intellij IDEA端口占用 解决方法:方法1:打开任务管理器,关闭java
- 在Flutter * 一个某支付价值几个亿的页面这一篇中,我们使用了 ListView 将几个 GridVie
- 本文实例为大家分享了C语言实现扫雷游戏的具体代码,供大家参考,具体内容如下前言一、游戏规则介绍扫雷是一个十分经典的游戏,一张棋盘中有很多个不
- Android 图形特效 &nbs
- 最近有一个java实验,要求用java使用数据库,于是本人新手小白,在idea上卡了好半天希望看到这个博客的人能解决问题,跳过一些坑首先,我
- char类在C#中表示一个unicode字符,正是这些unicode字符构成了字符串。unicode字符是目前计算机中通用的字符编码,它为针
- 本文主要介绍的是通过使用java的相关类可以实现对文件或文件夹的压缩。zlib是一种数据压缩程序库,它的设计目标是处理单纯的数据(而不管数据
- 作为java中的一个重要理念,说起面向对象也是老生常谈了。在找资料的时候多是很专业的术语,又或者很多框架的知识点合集,其实大部分人刚看资料的
- name hobbyTom &nb
- package GraphicsCanvas;import java.awt.BorderLayout;import java.awt.Ca
- 对于现在的 App 来说,布局页面基本都会用到沉浸式状态栏,单纯的沉浸式状态栏很容易解决,但是在华为手机上存在一个底部虚拟按键的问题,会导致
- 对于ApplicationListener使用Spring的应该也熟悉,因为这就是我们平时学习的观察者模式的实际代表。Spring基于Jav
- 系统原来用的是BOSCH_BMA222的gsensor, 现在要求换成使用MMA7660,我们来看一下怎样增加驱动和调试过程。 1. 修改M
- 1. 安装JDK解释: JDK是Java编写环境--开发环境注: 安装路径不可出现中文及标点符号。比如:D:\Java\jdk81.1 下载
- 第一次是接触Lambda表达式是在TypeScript中(JavaScript的超集中),当时是为了让TypeScript的this方法外而
- 运用Java编写代码将一个大文件切割成指定大小的小文件思路:对已知文件进行切割操作 –> 得到多个碎片文件使用:1、 1个字节输入流