首页 > 其他分享 >获取字节码信息的四种方式

获取字节码信息的四种方式

时间:2022-10-22 15:11:52浏览次数:44  
标签:字节 获取 System Person Class liu println public 四种

package com.liu.test02;
/**
 * @author : liu
 */
public class Person {
    //属性
    private int age;
    public String name;

    //方法
    private void eat(){
        System.out.println("Person----->eat");
    }
    public void sleep(){
        System.out.println("Person----->sleep");
    }
}
package com.liu.test02;

/**
 * @author : liu
 * 日期:14:27:02
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
//子类
public class Student extends Person{
    //属性
    private int sno;
    double height;
    protected double weight;//体重
    public double score;//成绩


    //方法
    public String showInfo(){
        return "我是一名三好学生";
    }
    private void work(){
        System.out.println("我以后会找工作---》码农 程序员  程序猿  程序媛");
    }
    //构造器
    public Student(){

    }
    private Student(int sno){
        this.sno=sno;
    }
    Student(int sno,double weight){
        this.sno=sno;
        this.weight=weight;
    }
}

案例

package com.liu.test02;

/**
 * @author : liu
 * 日期:14:35:44
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws ClassNotFoundException {
        //案例:以Person字节码信息为案例
        //方式1:通过getClass方法获取
        Person person = new Person();
        Class aClass = person.getClass();
        System.out.println(aClass);
        //方式2:通过内置Class属性
        Class personClass = Person.class;
        System.out.println(personClass);
        System.out.println(aClass==personClass);
        //注意:方式1方式2  不常用
        //方式3:方式3用的最多,他是调用Class类提供的静态方法forName
        Class aClass1 = Class.forName("com.liu.test02.Person");
        System.out.println(aClass1.toString());
        //方式4:利用类的加载器(了解技能点)
        ClassLoader loader = Test.class.getClassLoader();
        Class aClass2 = loader.loadClass("com.liu.test02.Person");
    }
}

 

标签:字节,获取,System,Person,Class,liu,println,public,四种
From: https://www.cnblogs.com/jeldp/p/16816116.html

相关文章

  • 【转载】使用Request对象获取Web获取当前请求的信息
    0.转载于:https://blog.csdn.net/weixin_34321977/article/details/863354991.Request简介Request对象是.net的内置对象之一,也是.net中常用的对象,用于获取客户端的信息,......
  • 字节跳动后端面经(13)
    Mysql日志系统MySQL最左前缀原则Mysql崩溃恢复日志文件很大怎么办MySQL采用B+树的优缺点问流量控制和拥塞控制区别怎么防止中间人攻击https加密的过程http请求方式......
  • Java基本数据类型占用字节大小简介说明
    转自:​​http://www.java265.com/JavaMianJing/202205/16515929083261.html​​下文笔者讲述Java中基本数据类型占用字节大小的简介说明,如下所示基础数据类型是所有数据类......
  • apipost动态获取登录token,其他接口同步调用
    1、新增登录接口,接口返回值包含token信息接口信息   返回值   2、在登录接口的后执行脚本,添加环境变量 apt.environment.set("accessToken",response.js......
  • 还不清楚JDK动态代理?从简单例子到源码再到字节码讲给你听
    一、前言 Spring中的AOP思想就是对代理模式的经典运用,下面先讲讲代理模式的核心思想,以静态代理为例。二、静态代理示例下面有这样一个例子,委托人在遭遇利益受损的时候,可以......
  • 获取百度百科简介
    #!/usr/bin/envpython#-*-coding:utf-8-*-frombs4importBeautifulSoupimporturllib.requestimporturllib.parseimportrequestsimportredefremove_s......
  • 使用PHP执行系统外部命令的四种方法
    准备工作出于安全性考虑,在通常情况下虚拟主机、XAMPP、DedeAMPZ等PHP运行环境都是禁止调用系统外部命令的。所以当你需要使用PHP执行命令的函数调用系统外部命令时,你需......
  • Java多线程实现的四种方式
    实现多线程有以下四种方式实现多线程有以下四种方式:1.继承Thread类2.实现Runnable接口3.实现Callable接口4.线程池:提供了一个线程队列,队列中保存着所有等待状态的线程......
  • 获取用户Openid
    微信公众号开发----tp5微信公众号静默授权获取用户openid 关于网页授权回调域名的说明1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开......
  • C#-获取指定菜单的所有父菜单
    目录菜单类初始化数据递归获取父菜单的方法测试方法菜单类classMenu{ publicintid{get;set;} publicstringmenu{get;set;} publicintparentId{ge......