From 80ae06858ed4a825c2db2b05e2edb3fb4a95cd6e Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 1 Apr 2026 14:11:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day12-Class=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E7=9A=84=E4=B8=89=E7=A7=8D=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/refelct02/Demo02.java | 37 +++++++++++++++++++ .../src/com/inmind/refelct02/Student.java | 5 +++ 2 files changed, 42 insertions(+) create mode 100644 javaSE-day12/src/com/inmind/refelct02/Demo02.java create mode 100644 javaSE-day12/src/com/inmind/refelct02/Student.java diff --git a/javaSE-day12/src/com/inmind/refelct02/Demo02.java b/javaSE-day12/src/com/inmind/refelct02/Demo02.java new file mode 100644 index 0000000..d28e52f --- /dev/null +++ b/javaSE-day12/src/com/inmind/refelct02/Demo02.java @@ -0,0 +1,37 @@ +package com.inmind.refelct02; +/* + 反射:在程序运行时,操作类(构造方法,成员方法,成员变量) + 反射前提是Class对象!! + + -------------------------------------------------- + Class对象的三种获取方式 + 1.Class.forName("全类名") 常用于框架的初始化操作(jdbc注册驱动) + 全类名:包名+类名 + 2.类名.class 常用于反射API中作为参数 + + 3.对象名.getClass() 常用于类型判断 + */ +public class Demo02 { + public static void main(String[] args) throws ClassNotFoundException { + //Class对象的获取方式一: + Class clazz1 = Class.forName("com.inmind.refelct02.Student"); + System.out.println(clazz1); + + //Class对象的获取方式二: + Class clazz2 = Student.class; + System.out.println(clazz2); + + //Class对象的获取方式三: + Student s = new Student(); + Class clazz3 = s.getClass(); + System.out.println(clazz3);//Class类中toString重写过了 + + //注意:一个类的字节码文件只有一个,与之对应的描述对象也只有一个,那么clazz1、clazz2、clazz3其实是同一个对象 + System.out.println(clazz1 == clazz2);//true + System.out.println(clazz3 == clazz2);//true + + //Class对象的常用方法 + System.out.println(clazz1.getName());//全类名:com.inmind.refelct02.Student + System.out.println(clazz1.getSimpleName());//类名:Student + } +} diff --git a/javaSE-day12/src/com/inmind/refelct02/Student.java b/javaSE-day12/src/com/inmind/refelct02/Student.java new file mode 100644 index 0000000..4476341 --- /dev/null +++ b/javaSE-day12/src/com/inmind/refelct02/Student.java @@ -0,0 +1,5 @@ +package com.inmind.refelct02; + +public class Student { + +}