当前位置: 首页 > news >正文

昆明网站推广8888168/线上宣传方式有哪些

昆明网站推广8888168,线上宣传方式有哪些,邯郸网站设计,新品发布会策划方案pptClass类的详细说明 Class 类是Java反射机制的核心,每个Java类或接口在JVM中都有一个对应的 Class 对象,用于表示该类的元数据(如类名、方法、字段、构造器等)。以下是其核心知识点: 1. 获取Class对象的三种方式 方式…

Class类的详细说明

Class 类是Java反射机制的核心,每个Java类或接口在JVM中都有一个对应的 Class 对象,用于表示该类的元数据(如类名、方法、字段、构造器等)。以下是其核心知识点:


1. 获取Class对象的三种方式
方式示例适用场景
类名.classClass<String> clazz = String.class;已知具体类名,编译时确定。
对象.getClass()String s = "hello"; Class<?> clazz = s.getClass();通过已有对象获取类信息。
Class.forName()Class<?> clazz = Class.forName("java.lang.String");动态加载类,需全限定类名(全限定类名是带有包名的)。

2. Class类的核心方法

(1) 获取类的基本信息
方法作用
String getName()返回全限定类名(如 java.lang.String)。
String getSimpleName()返回简单类名(如 String)。
Package getPackage()返回类所在的包信息(包名、注解等)。
int getModifiers()返回类的修饰符(如 publicfinal),需配合 Modifier 类解析。
boolean isInterface()判断是否为接口。

(2) 获取继承关系
方法作用
Class<?> getSuperclass()返回直接父类的 Class 对象(若为 Object 则返回 null)。
Class<?>[] getInterfaces()返回类实现的所有接口的 Class 数组。

(3) 操作字段(Field)
方法作用
Field getField(String name)获取指定名称的公共字段(包括继承的)。
Field getDeclaredField(String name)获取类声明的字段(包括私有、受保护),不包含继承字段
Field[] getFields()获取所有公共字段(包括继承的)。
Field[] getDeclaredFields()获取类声明的所有字段(包括私有、受保护)。

(4) 操作方法(Method)
方法作用
Method getMethod(String name, Class<?>... parameterTypes)获取指定名称和参数的公共方法(包括继承的)。
Method getDeclaredMethod(String name, Class<?>... parameterTypes)获取类声明的指定方法(包括私有、受保护),不包含继承方法
Method[] getMethods()获取所有公共方法(包括继承的)。
Method[] getDeclaredMethods()获取类声明的所有方法(包括私有、受保护)。

(5) 操作构造器(Constructor)
方法作用
Constructor<?>[] getConstructors()获取所有公共构造方法。
Constructor<?>[] getDeclaredConstructors()获取所有声明的构造方法(包括私有)。
Constructor<T> getConstructor(Class<?>... parameterTypes)获取指定参数类型的公共构造方法。
Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)获取指定参数类型的声明构造方法(包括私有)。

(6) 实例化对象
方法作用
T newInstance()已过时:通过默认无参构造器创建实例(需存在无参构造方法)。
替代方案:通过 Constructor 对象示例:
```java
Constructor constructor =
User.class.getConstructor(String.class);
User user = constructor.newInstance(“Alice”);
```

(7) 其他实用方法
方法作用
Annotation[] getAnnotations()获取类上的所有注解(包括元注解)。
ClassLoader getClassLoader()返回类的类加载器。
boolean isArray()判断是否为数组类型。
Class<?> getComponentType()返回数组类型的元素类型(如 String[].class.getComponentType()String.class)。

3. 示例代码

(1) 获取类信息
Class<?> clazz = Class.forName("java.util.ArrayList");
System.out.println("类名: " + clazz.getName());        // java.util.ArrayList
System.out.println("简单类名: " + clazz.getSimpleName()); // ArrayList
System.out.println("包名: " + clazz.getPackage().getName()); // java.util
(2) 操作私有字段
public class User {private String name;public User(String name) { this.name = name; }
}Class<User> clazz = User.class;
User user = clazz.getConstructor(String.class).newInstance("Alice");Field nameField = clazz.getDeclaredField("name");
nameField.setAccessible(true); // 允许访问私有字段
nameField.set(user, "Bob");
System.out.println(nameField.get(user)); // 输出: Bob
(3) 调用私有方法
public class Calculator {private int add(int a, int b) { return a + b; }
}Class<Calculator> clazz = Calculator.class;
Calculator calc = clazz.newInstance();Method addMethod = clazz.getDeclaredMethod("add", int.class, int.class);
addMethod.setAccessible(true);
int result = (int) addMethod.invoke(calc, 3, 5);
System.out.println(result); // 输出: 8

4. 注意事项

  1. 性能开销:反射操作比直接调用慢约10倍,避免高频使用。
  2. 安全限制:私有成员访问需调用 setAccessible(true),可能触发安全管理器异常。
  3. 代码可读性:反射代码较难维护,需添加详细注释。
  4. 兼容性:反射可能因JDK版本或类结构变化而失效。

总结

Class 类是Java反射的基石,通过它可以在运行时动态获取和操作类信息。核心方法涵盖类结构解析、实例化、字段/方法访问等场景,但在生产环境中需谨慎使用,权衡灵活性与性能、安全性的关系。

http://www.whsansanxincailiao.cn/news/30338166.html

相关文章:

  • erp系统有什么用/公司seo排名优化
  • 博物馆门户网站建设优势/长春网站建设设计
  • wordpress gallery 尺寸/无锡百度关键词优化
  • 咸宁公司做网站/温州seo服务
  • wordpress访问目录权限/搜索引擎seo优化
  • 网站运营面试问题/百度投放广告平台
  • 辽宁营商建设局网站/百度付费推广有几种方式
  • 8网站建设做网站/海洋seo
  • 慢慢网站建设/网域名解析ip查询
  • 东莞网站开发多少钱/如何推广公司网站
  • 学校建设评建工作网站/宁波最好的推广平台
  • 营销相关网站/seo网站排名优化公司哪家
  • 建设网站教程视频下载/网站建设公司大全
  • 招聘网官方网站/策划网络营销方案
  • 商城网站源码下载/友情链接样式
  • wordpress主题恢复/青岛seo网站排名
  • WordPress开网站很慢/站长之家收录查询
  • 国内谷歌网站SEO优化/发软文是什么意思
  • 专门做中文音译歌曲的网站/seo视频教学网站
  • 谷歌网站推广报价/html网页制作
  • android开发/四川seo哪里有
  • 怎么做网站发布/优化大师app下载安装
  • 做网站月入过万/抖音关键词挖掘工具
  • 河北云建站/软文推广公司有哪些
  • 大连做网站绍兴厂商/seo查询 站长工具
  • 盐城建设公司网站/搜索引擎优化的基础是什么
  • 苏州小程序/班级优化大师使用指南
  • 网站建设课程设计报告/买外链网站
  • 智慧树网页设计与制作作业答案/seo sem是什么职位
  • 金融投资网站方案/如何网络推广新产品