[Java] Class<T>

类 Class

Class<T>
T:Class对象建模的类的类型
除了类使用Class类描述外,一个类中的构造函数、成员变量和一般函数,都是一种事物,java中都会使用一个类描述:
  构造函数:Constructor类;
  成员变量:Field类;
  一般函数:Method类;

获取Class对象

第一种方式:通过对象的getClass函数获取
.getClass()
第二种方式:通过类型的静态成员变量class获取
.class
第三种方式:使用Class类的静态函数,通过表示某种类型的字符串获取
Class.forName("java.lang.String");//全路径

Class对象的使用

获取和调用构造函数
getConstructor() //获得指定的公共构造方法
getConstructors() //返回所有公共构造方法
getDeclaredConstructor() //获得指定的构造方法
getDeclaredConstructors() //返回所有构造方法
使用反射破坏单例
/*
1.获取类
2.获取构造函数
3.修改私有函数的访问限制
4使用此构造函数创建对象
*/
  Class clazz = Single.class;
  Constructor c = clazz.getDeclaredConstructor();
  c.setAccessible(true);
  Single s = (Single)c.newInstance();
预防 使用反射破坏单例
/*
在构造函数中判断此类的对象是否存在
*/
public class Single{
  private Single(){ 
     if(s!=NUll){
    //对象已存在
    } }
  //内部创建对象s
  private static Single s = new Single();
  //拿到s
  public static Single getInstance(){
  return s
  }
}
posted @   NetUSA  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示