简单了解java获取类的3种方式

这篇文章主要介绍了java获取类的3种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、Class.forName("全类名")

将字节吗文件加载进内存,返回Class对象,多用于配指文件,将类名定义在配置文件中,便于利用java的反射机制生成类对象,加载类。

//加载一个用户实体类UserBean
Class c1 = Class.forName("com.test.UserBean");

2、类名.class

通过类名的属性class获取,多用于传递参数。

Class c2 = UserBean.class;

3、对象.getClass()

多用于对象获取字节码的方式。

UserBean user = new UserBean();
Class c3 = user.getClass();

对于三种方式获取到的类对象都指向堆内存中同一个地址,所以三种方式获取的类对象都是同一个,根据实际应用环境选择使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现的获取和判断文件头信息工具类用法示例

    本文实例讲述了Java实现的获取和判断文件头信息工具类用法.分享给大家供大家参考,具体如下: package test; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; /** * 获取和判断文件头信息 * * @author Sud * */ public class GetTypeByHead { // 缓存文件头信息-文件头信息 public static final

  • Java获取文件的类型和扩展名的实现方法

    Java获取文件的类型和扩展名 实现代码: File file=new File("E:\\aa.jpg"); String fileName=file.getName(); String fileTyle=fileName.substring(fileName.lastIndexOf("."),fileName.length()); System.out.println(fileTyle); 程序运行效果图: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • Java中通过Class类获取Class对象的方法详解

    前言 本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Class对象的三种方式(实例采用Person类) 方式1:通过Object类的getObject()方法 Person p = new Person(); Class c

  • Java日期操作方法工具类实例【包含日期比较大小,相加减,判断,验证,获取年份等】

    本文实例讲述了Java日期操作方法工具类.分享给大家供大家参考,具体如下: package com.gcloud.common; import org.apache.http.util.TextUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.regex.Patte

  • java反射遍历实体类属性和类型,并赋值和获取值的简单方法

    实例如下: import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Date; /** * 获取实体类型的属性名和类型 * @param model 为实体类 * @author kou 为传入参数 */ public class GetModelNameAndType { public

  • Java 获取泛型的类型实例详解

    Java 获取泛型的类型实例详解 Java 泛型实际上有很多缺陷,比如不能直接获取泛型的类型,不能获取带泛型类等. 以下方式是不正确的: ①.获取带泛型的类的类型 Class lstUClazz = List<User>.class ②获取局部变量泛型的类型 List<User> listUser = new ArrayList<User>(); Type genType = listUser.getClass().getClass().getGenericSuperc

  • Java 获取当前类名和方法名的实现方法

     Java 获取当前类名和方法名的实现方法 这里提供了四种方法并比较,大家需要的可以参考下,          为了测试各个函数,如果手动打印每个类名.函数名,那么多函数的话能把人累死,Java早已准备好了一堆记录自身的函数. 获取类名: public static void testGetClassName() { // 方法1:通过SecurityManager的保护方法getClassContext() String clazzName = new SecurityManager() {

  • Java动态获取实现某个接口下所有的实现类对象集合

    最近有个需求,我需要获取所有同一类型的定时任务的对象,并自动执行. 我想的方案是:直接获取某个接口下面所有的实现类的对象集合,方便以后只需要 实现这个接口,就能自动被加载执行.话不多说,说说我的实现方案. 开始想着用反射自己写一个工具类,后面懒得去折腾,就直接用第三方工具包了,这里我用的是org.reflections. maven配置: <dependency> <groupId>org.reflections</groupId> <artifactId>

  • 简单了解java获取类的3种方式

    这篇文章主要介绍了java获取类的3种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Class.forName("全类名") 将字节吗文件加载进内存,返回Class对象,多用于配指文件,将类名定义在配置文件中,便于利用java的反射机制生成类对象,加载类. //加载一个用户实体类UserBean Class c1 = Class.forName("com.test.UserBean"): 2.类名.c

  • Java 获取properties的几种方式

    spring下获取Properties方式 比如已有的commonConfig.properties main.db.driverClassName=com.mysql.jdbc.Driver main.db.url=jdbc\:mysql\://cloudpkdbrw.xxx.com\:3306/huagang?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior\=convertToNull main.db.use

  • 简单了解Java多线程实现的四种方式

    第一种方式为继承Thread类然后重写run方法再调用start方法,因为java为单继承多实现,所以不建议使用这种方式,代码如下: public class Demo extends Thread{ public static void main(String[] args) { new Demo().start(); } @Override public void run() { System.out.println("继承Thread类实现多线程"); } } 第二种为实现Run

  • Java获取随机数的3种方法

    主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i<30;i++) {System.out.println((int)(1+Math.random()*10));} (int)(1+Math.random()*10) 通过java.Math包的ra

  • Java中获取时间戳的三种方式对比实现

    Java中获取时间戳 三种方式对比 最近项目开发过程中发现了项目中获取时间戳的业务.而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式. 1.System.currentTimeMillis() System类中的currentTimeMillis()方法是三种方式中效率最好的,运行时间最短.开发中如果设计到效率问题,推荐使用此种方式获取. System.currentTimeMillis() 2.new Date().getTime() 除了Sys

  • java实现多线程的两种方式继承Thread类和实现Runnable接口的方法

    实现方式和继承方式有什么区别呢? *区别: *继承Thread:线程代码存放在Thread子类run方法中 *实现Runnable:线程代码存放在接口的子类的run方法中 *实现方式的好处:避免了单继承的局限性 *在定义线程时,建议使用实现方式,当然如果一个类没有继承父类,那么也可以通过继承Thread类来实现多线程 *注意:Runnable接口没有抛出异常,那么实现它的类只能是try-catch不能throws *Java对多线程的安全问题提供了专业的解决方式就是同步代码块synchroniz

  • java从命令行获取数据的三种方式代码实例

    这篇文章主要介绍了java从命令行获取数据的三种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一种:利用Scanner对象 import java.util.Scanner; public class TestInputOuput { public static void main(String[] args) { System.out.println("请输入:"); Scanner inp = new Scanne

  • Spring实现Aware接口自定义获取bean的两种方式

    在使用spring编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单: @Servicepublic class BeanFactoryHelper implements BeanFactoryAware { private static BeanFactory beanFactory; @Override public void setBeanFactory(BeanFactory beanFactory

  • 关于Java创建线程的2种方式以及对比

    目录 1. 继承Thread类 2. 实现Runnable接口: 创建线程的两种方式对比: 线程的完整生命周期: 总结 Java中两种创建线程的方式: 1. 继承Thread类 重写run()方法 new一个线程对象 调用对象的start()启动线程 class Handler extends Thread{ public void run(){ //重写run()方法 } public static void main(String[] args){ Thread thread=new Han

  • 一文带你快速学会JDBC及获取连接的五种方式

    目录 1. JDBC基本介绍 2. JDBC快速入门 2.1 JDBC程序编写步骤 2.2 案例演示 2.2.1 前置工作,在数据库中建立对应表 2.2.2 前置工作,导入MySQL数据库的对应jar包 3. 相关类的介绍 3.1 Statement 3.2 ResultSet[结果集] 3.3 PreparedStatement 4. 关闭资源 5. 获取数据库连接的五种方式 方式一 方式二 方式三 方式四 方式五 总结 快速学会JDBC及获取连接的五种方式 1. JDBC基本介绍 JDBC为

随机推荐