当前位置: 首页 > news >正文

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
http://www.lryc.cn/news/111219.html

相关文章:

  • UE5+Paperzd问题
  • K8S系列文章之 自动化运维利器 Ansible
  • Julia 字典和集合
  • devops-发布vue前端项目
  • 使用正则表达式设置强密码
  • epoll、poll、select的原理和区别
  • 【学习笔记】Java安全之反序列化
  • 算法练习--leetcode 数组
  • 本地 shell无法连接centos 7 ?
  • C 语言的基本算术运算符 = + - * /
  • SQL注入实操三(SQLilabs Less41-50)
  • HOT77-买卖股票的最佳时机
  • CSS调色网有哪些
  • Day10-NodeJS和NPM配置
  • 线性代数 | 机器学习数学基础
  • Nios初体验之——Hello world!
  • [Linux]理解文件系统!动静态库详细制作使用!(缓冲区、inode、软硬链接、动静态库)
  • 【Linux操作系统】Vim:提升你的编辑效率
  • Mybatis-plus 的自动填充策略
  • 大数据课程G2——Hbase的基本架构
  • 微信小程序wx.getlocation接口权限申请总结
  • 简单游戏截图_可控截取内容1
  • Vue3_02 创建Vue3.0工程
  • Arduino ESP 8266 ESPAsyncWebServer AsyncCallbackJsonWebHandler
  • Source Insight_突出显示对选定字符的引用
  • 高等数学上册 第五章 定积分 知识点总结
  • 【无标题】uniapp引入萤石云 真机无法运行 踩坑集合
  • python函数
  • 【Linux】进程间通信——system V共享内存
  • 【数据结构】快速排序