zoukankan      html  css  js  c++  java
  • 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%的猜想)。

  • 相关阅读:
    升级linux bash
    vim关键字自动补全
    linux bash shell之变量替换::=句法、=句法、:句法、句法、=?句法、?句法、:+句法、+句法
    使用Bash编写Linux Shell脚本7.复合命令
    使用Bash编写Linux Shell脚本5.变量
    使用Bash编写Linux Shell脚本8.调试和版本控制
    Perl之单引号\双引号的字符串直接量
    linux bash shell 中的单引号和双引号
    使用Bash编写Linux Shell脚本6.表达式
    Vim的行号、语法显示等设置,即.vimrc文件的配置
  • 原文地址:https://www.cnblogs.com/NextNight/p/4665843.html
Copyright © 2011-2022 走看看