package com.kuang.reflection;/*** @author 曲志鹏* @version 1.0* @2021/8/14 19:13*/public class Test03 {public static void main(String[] args) throws ClassNotFoundException {Person person= new Student();System.out.println("这个人是:"+person.name);//通过对象获得Class<? extends Person> c1 = person.getClass();//forname 获得System.out.println(c1.hashCode());Class<?> c2 = Class.forName("com.kuang.reflection.Student");System.out.println(c2.hashCode());//通过类名.class获得Class<Student> c3 = Student.class;System.out.println(c3.hashCode());//内置类型的包装类都有一个Type属性Class<Integer> c4 = Integer.TYPE;System.out.println(c4);//获得父类类型Class<?> c5 = c1.getSuperclass();System.out.println(c5);}
}
class Person{public Person(String name) {this.name = name;}String name;public Person(){}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +'}';}
}
class Student extends Person{public Student(){this.name="学生";}
}
class Tercher extends Person{public Tercher(){this.name="老师";}
}

1)前提:若已知具体的类,通过类的class属性获取,该方法最为安全可靠, 程序性能最高 实例:Class clazz = String.class;

2)前提:已知某个类的实例,调用该实例的getClass()方法获取Class对象 实例:Class clazz = “www.atguigu.com”.getClass();

3)前提:已知一个类的全类名,且该类在类路径下,可通过Class类的静态方 法forName()获取,可能抛出ClassNotFoundException 实例:Class clazz = Class.forName(“java.lang.String”);

其他方式(不做要求) ClassLoader cl = this.getClass().getClassLoader(); Class clazz4 = cl.loadClass(“类的全类名”);

获取class的三种方式相关推荐

  1. SpringBoot静态获取 bean的三种方式,你学会了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 ...

  2. android获取自定义属性,android 自定义控件中获取属性的三种方式(转)

    第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...

  3. Spring Boot当中获取request的三种方式

    本篇博客主要记录request相关知识,也是开发当中经常遇到的,感兴趣的跟小编一起学习吧! 目录 一.请求过程 二.获取request的三种方式 2.1.可以封装为静态方法 2.2.controlle ...

  4. java时间戳是什么类型_java 获取时间戳的三种方式

    java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMill ...

  5. java获取时间戳的三种方式比较

    文章目录 java获取时间戳的三种方式比较 java获取时间戳的三种方式比较 import java.util.Calendar; import java.util.Date; //不再推荐使用Dat ...

  6. idea yml文件不变成树叶_springboot获取配置文件的三种方式

    hello,大家好,有今天没有写文章了,因为呢,最近,公司有点事情,需要我呢,搭建一个demo,框架呢是springboot+Active实现消息的延时发送和定时发送功能,为了项目以后中使用到,所以呢 ...

  7. java 时间戳 对比_Java中获取时间戳的三种方式对比实现

    Java中获取时间戳 三种方式对比 最近项目开发过程中发现了项目中获取时间戳的业务.而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式. 1.System ...

  8. jQuery中通过JSONP来跨域获取数据的三种方式

    第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({dataType: 'jsonp',url: 'http://www.a.com/user?id=123',succe ...

  9. C#获取网页内容的三种方式

    搜索网络,发现C#通常有三种方法获取网页内容,使用WebClient.WebBrowser或者HttpWebRequest/HttpWebResponse...方法一:使用WebClient (引用自 ...

最新文章

  1. 天津盈克斯机器人科技_网红新科技,走进家居新时代|环渤海爱乐屋门窗amp;威卢克斯天窗双旦狂欢节送您一个温暖的家!...
  2. matlab中antoine方程应用,Antoine方程 安托因方程
  3. Spring集成–从头开始应用程序,第1部分
  4. 在没有XML的情况下测试Spring和Hibernate
  5. c语言指针怎样代替二维数组,c语言 指针和二维数组
  6. php 安全mysql,关于php:我从mysql注入安全吗?
  7. coordinatorlayout_一篇文章学会Coordinatorlayout+AppbarLayout
  8. 修复IE下相对容器中绝对定位Bug
  9. pythonqt5plaintextedit某一行的内容_如何能够做到持续输出内容?
  10. L2-016. 愿天下有情人都是失散多年的兄妹-PAT团体程序设计天梯赛GPLT(广度优先bfs)
  11. 脱离标准文档流(1)---浮动
  12. linux调度器(五)——进程管理与CFS
  13. 什么是Ⅰ类、Ⅱ类、Ⅲ类银行账户?秒懂!
  14. 30天自制操作系统 pdf_30天自制操作系统-汇编实现初版镜像
  15. 微信群裂变不起来怎么办?
  16. Idea2017 破解版下载注册步骤(含注册码),亲测可用
  17. 一次Rpc调用报错排查
  18. 给群联PS3111/inic6081量产工具添加闪存颗粒支持
  19. 安卓接入融云即时通讯的简单步骤
  20. python下的spectral模块(高光谱图像处理)

热门文章

  1. 【GlobalMapper精品教程】043:图片自动矢量化
  2. 从Excel导入数据到数据库
  3. jQuery——jQuery学习笔记(完整版)
  4. 计算机视觉寒假实习生面经
  5. Vue开发项目入门——Vue脚手架
  6. 小米装linux双系统,小米9双系统发布
  7. VMware 连接ISO镜像时,切换可移动设备时遇到错误: 对磁盘“ide1:0”执行的连接控制操作失败?
  8. 实现用户一键登录的方案有哪些?
  9. Android-第九节网络编程
  10. 终于,我也出了篇R语言入门手册!