• java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(1)


      java学习一段时间之后,大家可能经常会听到反射这个词,那么说明java已经学习到一个高一点的层次了。接下来我会一步步和大家一起揭开java高级特性反射的神秘面纱。

      首先介绍下类对象这个概念,可能会经常用到这个概念:

        类对象:java中有句很经典的话"万事万物皆对象",相信大家都不陌生,这句话告诉了我们java的特征之一,那就是面向对象。java中类的概念我们都很熟悉,既然万事万物皆是对象,那么类是谁的对象呢?<对象的概念:一个类的实例>换句话说,类是谁的实例。如此就有了类对象这个概念。在java中有个类的名字叫Class,任何一个类都是这个Class类的对象。

        下面用几行代码向大家展示如何获取类对象:

        1.新建一个包com.cx.bean,在包下创建一个类Book

    Book.java文件

    package com.cx.bean;
    
    public class Book {
        private int id;
        private String name;
        private String type;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getType() {
            return type;
        }
        public void setType(String type) {
            this.type = type;
        }
    }

      1.新建一个包com.cx.main,在包下创建一个类Test.

    Test.java文件

    package com.cx.main;
    import com.cx.bean.Book; public class Test { public static void main(String[] args) { Class c1=null; Class c2=null; Class c3=null; /** * 获取类对象:类对象本身就是一个类 */ //第一种方式:通过Class对象的静态forName()方法参数为完整类路径名称 try { c1 = Class.forName("com.cx.bean.Book"); } catch (ClassNotFoundException e) { e.printStackTrace(); } System.out.println("第一种:"+c1);//:class com.cx.bean.Book //第二种方式:通过该类实例的getClass()方法获取类对象 Book bo=new Book(); Object ob=bo; System.out.println("第二种:"+ob.getClass()); //第三种:类名.class c3=Book.class; System.out.println("第三种:"+c3); } }
    /**
    运行结果:
      

    第一种:class com.cx.bean.Book
    第二种:class com.cx.bean.Book
    第三种:class com.cx.bean.Book

    通过这段代码可以清楚的向大家展示如何获取一个类对象.

    */

    ❤如果这篇文章对你有一点点的帮助请给一份推荐! 谢谢!你们的鼓励是我继续前进的动力。更多内容欢迎访问我的个人博客

    ❤本博客只适用于研究学习为目的,大多为学习笔记,如有错误欢迎指正,如有误导概不负责(本人尽力保证90%的验证和10%的猜想)。

  • 相关阅读:
    用Total Commander for Android管理应用程序
    我的zsh简单设置
    C# Newtonsoft.Json 使用
    Wireshark 抓包 test
    C# 调用API test
    C# 委托 的语法 之一
    C# 对象初始化器 和数组初始化语法
    C 语言 数据类型长度
    vue 使用 test
    test
  • 原文地址:https://www.cnblogs.com/NextNight/p/4665843.html
Copyright © 2020-2023  润新知