Java通过实例调用getClass()方法、类名.class操作、通过运行时类获取其它信息
说明
Java Object类的getClass()函数,是通过对象调用的,是一个实例方法,该方法返回当前对象的运行时类。
通过类名.class可以获得和通过实例调用getClass()函数一样的信息。
获得运行时类以后,可以进一步获取其它信息。
代码示例
通过对象调用、在实例方法中调用getClass()
package com.thb;public class Test2 {public static void main(String[] args) {Test2 test = new Test2();System.out.println(test.getClass());test.method();}public void method() {System.out.println(getClass());}
}
运行输出:
class com.thb.Test2
class com.thb.Test2
通过接口不同的实现类的实例调用getClass()
package com.thb;import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;public class Test2 {public static void main(String[] args) {List<Integer> list1 = new ArrayList<Integer>();System.out.println(list1.getClass());List<Integer> list2 = new LinkedList<Integer>();System.out.println(list2.getClass());}}
运行输出:
class java.util.ArrayList
class java.util.LinkedList
实例的getClass()函数和类名.class操作获取了相同的信息
package com.thb;public class Test2 {public static void main(String[] args) { System.out.println(new Test2().getClass()); System.out.println(Test2.class); }
}
运行输出:
class com.thb.Test2
class com.thb.Test2
通过获得的运行时类获得其它信息
package com.thb;public class Test2 {public static void main(String[] args) {Test2 test = new Test2();Class<?> clazz = test.getClass();System.out.println("getClass(): " + clazz);System.out.println("getClass().getName(): " + clazz.getName()); System.out.println("getClass().getSimpleName(): " + clazz.getSimpleName());System.out.println("getClass().getCanonicalName(): " + clazz.getCanonicalName());System.out.println("getClass().getTypeName(): " + clazz.getTypeName()); System.out.println("getClass().getPackageName(): " + clazz.getPackageName()); }}
运行输出:
getClass(): class com.thb.Test2
getClass().getName(): com.thb.Test2
getClass().getSimpleName(): Test2
getClass().getCanonicalName(): com.thb.Test2
getClass().getTypeName(): com.thb.Test2
getClass().getPackageName(): com.thb
相关文章:
Java通过实例调用getClass()方法、类名.class操作、通过运行时类获取其它信息
说明 Java Object类的getClass()函数,是通过对象调用的,是一个实例方法,该方法返回当前对象的运行时类。 通过类名.class可以获得和通过实例调用getClass()函数一样的信息。 获得运行时类以后,可以进一步获取其它信息。 代码示例…...
UE5+Paperzd问题
TopDown的2D游戏,遇到两个问题,第一问题是游戏一开始就会从tilemap上掉下去。第二个问题是没法和图层2上的物体做碰撞。 一、碰撞问题 1、创建的TileSet后,左侧选中一个tile后,一定要点击上边的Add Box,否则创建出来的…...
K8S系列文章之 自动化运维利器 Ansible
Ansible-安装 第一步:安装我们的epel扩展源 yum -y install epel-release 我这里会报/var/run/yum.pid 已被锁定,如果没有直接进行下一步 [rootmaster home]# yum -y install epel-release 已加载插件:fastestmirror, langpacks /var/run/…...
Julia 字典和集合
数组是一种集合,此外 Julia 也有其他类型的集合,比如字典和 set(无序集合列表)。 字典 字典是一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key>value 对用 > 分割,每个键值对之间用逗…...
devops-发布vue前端项目
回到目录 将使用jenkinsk8s发布前端项目 1 环境准备 node环境 在部署jenkins的服务器上搭建node环境 node版本 # 1.拉取 https://nodejs.org/download/release/v20.4.0/node-v20.4.0-linux-x64.tar.gz# 2.解压到/usr/local目录下 sudo tar xf v20.4.0.tar.gz -C /usr/loc…...
使用正则表达式设置强密码
文章目录 例子和解析测试工具Java中的应用 例子和解析 强密码需要同时含有大写字母、小写字母、数字、特殊符号。 这边先展示我自己写的。 ^(?.*[a-z])(?.*[A-Z])(?.*[0-9])(?.*[!#$%?])[a-zA-Z0-9!#$%?_]{8,}$以上代8位以上的强密码。 下面是具体解析: ^代…...
epoll、poll、select的原理和区别
select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select&a…...
【学习笔记】Java安全之反序列化
文章目录 反序列化方法的对比PHP的反序列化Java的反序列化Python反序列化 URLDNS链利用链分析触发DNS请求 CommonCollections1利用链利用TransformedMap构造POC利用LazyMap构造POCCommonsCollections6 利用链 最近在学习Phith0n师傅的知识星球的Java安全漫谈系列,随…...
算法练习--leetcode 数组
文章目录 爬楼梯问题裴波那契数列两数之和 [数组]合并两个有序数组移动零找到所有数组中消失的数字三数之和 爬楼梯问题 输入n阶楼梯,每次爬1或者2个台阶,有多少种方法可以爬到楼顶? 示例1:输入2, 输出2 一次爬2阶&a…...
本地 shell无法连接centos 7 ?
1、首先检查是否安装ssh服务; yum list installed | grep openssh-server# 没有安装尝试安装下 yum install openssh-server 2、检查ssh服务是否开启 systemctl status sshd.service# 未开启,开启下 systemctl start sshd.service # 将sshd 服务添…...
C 语言的基本算术运算符 = + - * /
C 语言的基本算术运算符有: - * / 赋值运算符 赋值运算符左侧必须引用一个内存中的位置, 最简单的方法就是使用变量名, 也可以使用指针指向内存中的某个位置. 赋值表达式的目的是把值储存到目标内存位置上. 下面语句中的 表示初始化而不是赋值: const int …...
SQL注入实操三(SQLilabs Less41-50)
文章目录 一、sqli-labs靶场1.轮子模式总结2.Less-41 stacked Query Intiger type blinda.注入点判断b.轮子测试c.获取数据库名称d.堆叠注入e.堆叠注入外带注入获取表名f.堆叠注入外带注入获取列名g.堆叠注入外带注入获取表内数据 3.Less-42 Stacked Query error baseda.注入点…...
HOT77-买卖股票的最佳时机
leetcode原题链接:买卖股票的最佳时机 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所…...
CSS调色网有哪些
本文章转载于湖南五车教育,仅用于学习和讨论,如有侵权请联系 1、https://webgradients.com/ Wbgradients 是一个在线调整渐变色的网站 ,可以根据你想要的调整效果,同时支持复制 CSS 代码,可以更好的与开发对接。 Wbg…...
Day10-NodeJS和NPM配置
Day10-NodeJS和NPM 一 Nodejs 1 简介 Nodejs学习中文网:https://www.nodeapp.cn/synopsis.html Nodejs的官网:https://nodejs.org/ 概念:Nodejs是JavaScript的服务端运行环境.Nodejs不是框架,也不是编程语言,就是一个运行环境. Nodejs是基于chrome V8引擎开发的一套js代码…...
线性代数 | 机器学习数学基础
前言 线性代数(linear algebra)是关于向量空间和线性映射的一个数学分支。它包括对线、面和子空间的研究,同时也涉及到所有的向量空间的一般性质。 本文主要介绍机器学习中所用到的线性代数核心基础概念,供读者学习阶段查漏补缺…...
Nios初体验之——Hello world!
文章目录 前言一、系统设计1、系统模块框图2、系统涉及到的模块1、时钟2、nios2_qsys3、片内存储(onchip_rom、onchip_ram)4、串行通信(jtag_uart)5、System ID(sysid_qsys) 二、硬件设计1、创建Qsys2、重命…...
[Linux]理解文件系统!动静态库详细制作使用!(缓冲区、inode、软硬链接、动静态库)
hello,大家好,这里是bang___bang_,今天来谈谈的文件系统知识,包含有缓冲区、inode、软硬链接、动静态库。本篇旨在分享记录知识,如有需要,希望能有所帮助。 目录 1️⃣缓冲区 🍙缓冲区的意义 …...
【Linux操作系统】Vim:提升你的编辑效率
Vim是一款功能强大的文本编辑器,它具有高度可定制性和灵活性,可以帮助程序员和文本编辑者提高编辑效率。本文将介绍Vim的基本使用方法、常用功能和一些实用技巧。 文章目录 1. Vim的基本使用方法:2. 常用功能:2.1 文件操作&#…...
Mybatis-plus 的自动填充策略
当在项目中需要对某些实体类中的公共的属性进行自动填充时,可以使用Mybatis-plus中的自动填充功能。 (1)我们可以在实体类中把要自动填充的类属性加上指定的注解TableField(填写在上面方法时进行填充的枚举类型填充策略ÿ…...
如何快速提升Windows性能:终极系统优化完整指南
如何快速提升Windows性能:终极系统优化完整指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-zh_CN …...
思源宋体TTF:免费专业中文字体终极使用指南
思源宋体TTF:免费专业中文字体终极使用指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版找不到合适的免费字体而烦恼吗?思源宋体TTF正是你需要…...
H5GG完整指南:如何用JavaScript和HTML5轻松修改iOS游戏内存
H5GG完整指南:如何用JavaScript和HTML5轻松修改iOS游戏内存 【免费下载链接】H5GG an iOS Mod Engine with JavaScript APIs & Html5 UI 项目地址: https://gitcode.com/gh_mirrors/h5/H5GG 你是否曾经想过修改iOS游戏中的数值,却因为复杂的越…...
H5GG iOS模组引擎:基于JavaScript的iOS应用内存操作与界面定制技术实现
H5GG iOS模组引擎:基于JavaScript的iOS应用内存操作与界面定制技术实现 【免费下载链接】H5GG an iOS Mod Engine with JavaScript APIs & Html5 UI 项目地址: https://gitcode.com/gh_mirrors/h5/H5GG H5GG是一款创新的iOS模组引擎,通过Java…...
三分钟搞定B站缓存视频:m4s转MP4的傻瓜式完整教程
三分钟搞定B站缓存视频:m4s转MP4的傻瓜式完整教程 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是不是也遇到过这样的烦恼&#…...
【程序源代码】校园论坛仿知乎贴吧微信小程序系统(含源码)
关键字:发帖,搜索,校园社区,Vue,服务,系统,管理,springboot,java,h2项目名称:校园论坛(仿知乎贴吧)微信小程序系统微信小程序校园论坛(仿知乎贴吧)系统是基于SpringBoot框架开发的一款轻量化校园论坛&#…...
如何用Zotero Style插件让文献管理变得可视化与高效
如何用Zotero Style插件让文献管理变得可视化与高效 【免费下载链接】zotero-style Ethereal Style for Zotero 项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-style 如果你正在寻找提升Zotero文献管理效率的终极解决方案,Zotero Style插件正是你…...
Vivado时序约束实战:用Set_Case_Analysis给FPGA设计‘瘦身’,提升分析效率
Vivado时序约束实战:用Set_Case_Analysis给FPGA设计‘瘦身’,提升分析效率 当你在Vivado中面对一个包含数百个时钟域的中大型FPGA设计时,是否曾被长达数小时的时序分析运行时间和内存爆满的警告折磨得焦头烂额?我曾接手过一个图像…...
从NeoPixel到CircuitPython:打造智能LED眼镜的完整硬件与软件实践
1. 项目概述 如果你对可穿戴电子设备、酷炫的LED光效以及用代码创造物理交互感兴趣,那么这个项目绝对能让你兴奋起来。今天要分享的,是如何亲手制作一副灵感来源于电子音乐人REZZ标志性风格的NeoPixel LED眼镜。这不仅仅是一个简单的焊接和组装教程&…...
神经网络分子动力学与长程静电相互作用优化技术
1. 神经网络分子动力学与长程静电相互作用优化概述分子动力学模拟作为计算化学和材料科学的核心工具,其精度和效率直接决定了研究的深度和广度。传统分子动力学依赖经验力场,虽然计算速度快,但难以准确描述化学键断裂/形成等过程。而基于量子…...
