获取字节码信息的四种方式
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"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本