Java基础之-反射1,一篇文章把InnoDB的事务机制给你弄的明明白白

使用一个特殊的Java类访问这些信息。保存这些信息的类名为Class,可能这会让我们会有点难受 xxx.class(字节码文件) 和我们获取的Class类有什么样的联系,后续再加以说明,先来看一个实例:

获取Class类对象的方式:

  1. 通过对象获取Class类对象

  2. 通过静态方法forName()

  3. 通过类的字节码

一、通过对象获取Class类对象


package com.reflection;



public class Student {

    private String name; //学生姓名

    private int age; //学生年龄

    private String address; //学生所在地



    public Student() {

    }



    public Student(String name, int age, String address) {

        this.name = name;

        this.age = age;

        this.address = address;

    }



    public String getName() {

        return name;

    }



    public void setName(String name) {

        this.name = name;

    }



    public int getAge() {

        return age;

    }



    public void setAge(int age) {

        this.age = age;

    }



    public String getAddress() {

        return address;

    }



    public void setAddress(String address) {

        this.address = address;

    }

}




package com.reflection;



public class ClassTest {

    public static void main(String[] args) {

        //1.创建对象

        Student s = new Student();

        s.setName("张三");

        //2.通过对象.getClass 获取所对应的Class类

        Class<?> c = s.getClass();

        System.out.println(c); //class com.reflection.Student 类的全限定名



        System.out.println(c.getName() + "-->" + s.getName()); //获取Class类对应的类的全限定名

        System.out.println(s.getClass().getName()); //与上述输出语句效果一致

    }

}



二、通过forName()获取Class类对象


package com.reflection;



public class ClassTest2 {

    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {

        //1.通过静态方法forName() 来获取类名对应的Class对象

        Class<?> c = Class.forName("com.reflection.Student");



        System.out.println(c.getName()); //获取类的全限定名

        System.out.println(c.getConstructor()); //获取类的无参构造器



    }

}



三、通过类的字节码,也是最快截的方式


package com.reflection;



import java.util.Random;



public class ClassTest3 {

    public static void main(String[] args) {

        Class<?> c = Student.class;

        Class<?> c2 = int.class;

        Class<?> c3 = Random.class;



        /*

            在这里我们就可以感受到反射的强大之处了

         */


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/cf21cf8f811095bfb0688e64a7406ecd.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/4d109a0c3a76d85b33664f6b1b311948.png)
![img](https://img-blog.csdnimg.cn/img_convert/202995b78a9c1d7017004f4a05a4d73c.png)
![img](https://img-blog.csdnimg.cn/img_convert/e67e68242206f86bb905d6e7866cd756.png)
![img](https://img-blog.csdnimg.cn/img_convert/3b3ec92510b3e6b15988b94a31e2fcfe.png)
![img](https://img-blog.csdnimg.cn/img_convert/e214955820e48c39d9220b554cdc7dc0.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
![img](https://img-blog.csdnimg.cn/img_convert/cfe193c2dc6028e5aa34560f971827ed.jpeg)



### 最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友

![image.png](https://img-blog.csdnimg.cn/img_convert/4db028adaccd23bff77e569245d91bbf.webp?x-oss-process=image/format,png)



码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
[外链图片转存中...(img-FK41axm9-1711917907179)]



### 最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友

[外链图片转存中...(img-PBUra2J2-1711917907180)]



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值