获取class的三种方式
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的三种方式相关推荐
- SpringBoot静态获取 bean的三种方式,你学会了吗?
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 ...
- android获取自定义属性,android 自定义控件中获取属性的三种方式(转)
第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...
- Spring Boot当中获取request的三种方式
本篇博客主要记录request相关知识,也是开发当中经常遇到的,感兴趣的跟小编一起学习吧! 目录 一.请求过程 二.获取request的三种方式 2.1.可以封装为静态方法 2.2.controlle ...
- java时间戳是什么类型_java 获取时间戳的三种方式
java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMill ...
- java获取时间戳的三种方式比较
文章目录 java获取时间戳的三种方式比较 java获取时间戳的三种方式比较 import java.util.Calendar; import java.util.Date; //不再推荐使用Dat ...
- idea yml文件不变成树叶_springboot获取配置文件的三种方式
hello,大家好,有今天没有写文章了,因为呢,最近,公司有点事情,需要我呢,搭建一个demo,框架呢是springboot+Active实现消息的延时发送和定时发送功能,为了项目以后中使用到,所以呢 ...
- java 时间戳 对比_Java中获取时间戳的三种方式对比实现
Java中获取时间戳 三种方式对比 最近项目开发过程中发现了项目中获取时间戳的业务.而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式. 1.System ...
- jQuery中通过JSONP来跨域获取数据的三种方式
第一种方法是在ajax函数中设置dataType为'jsonp' $.ajax({dataType: 'jsonp',url: 'http://www.a.com/user?id=123',succe ...
- C#获取网页内容的三种方式
搜索网络,发现C#通常有三种方法获取网页内容,使用WebClient.WebBrowser或者HttpWebRequest/HttpWebResponse...方法一:使用WebClient (引用自 ...
最新文章
- 天津盈克斯机器人科技_网红新科技,走进家居新时代|环渤海爱乐屋门窗amp;威卢克斯天窗双旦狂欢节送您一个温暖的家!...
- matlab中antoine方程应用,Antoine方程 安托因方程
- Spring集成–从头开始应用程序,第1部分
- 在没有XML的情况下测试Spring和Hibernate
- c语言指针怎样代替二维数组,c语言 指针和二维数组
- php 安全mysql,关于php:我从mysql注入安全吗?
- coordinatorlayout_一篇文章学会Coordinatorlayout+AppbarLayout
- 修复IE下相对容器中绝对定位Bug
- pythonqt5plaintextedit某一行的内容_如何能够做到持续输出内容?
- L2-016. 愿天下有情人都是失散多年的兄妹-PAT团体程序设计天梯赛GPLT(广度优先bfs)
- 脱离标准文档流(1)---浮动
- linux调度器(五)——进程管理与CFS
- 什么是Ⅰ类、Ⅱ类、Ⅲ类银行账户?秒懂!
- 30天自制操作系统 pdf_30天自制操作系统-汇编实现初版镜像
- 微信群裂变不起来怎么办?
- Idea2017 破解版下载注册步骤(含注册码),亲测可用
- 一次Rpc调用报错排查
- 给群联PS3111/inic6081量产工具添加闪存颗粒支持
- 安卓接入融云即时通讯的简单步骤
- python下的spectral模块(高光谱图像处理)