首页 > 编程语言 >[Java] Class<T>

[Java] Class<T>

时间:2022-12-10 19:44:33浏览次数:35  
标签:Java 构造方法 class 获取 Single Class 构造函数

类 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
  }
}

标签:Java,构造方法,class,获取,Single,Class,构造函数
From: https://www.cnblogs.com/NetUSA/p/16971960.html

相关文章

  • Java重点 | DateFormat和SimpleDateFormat类
    DateFormat和SimpleDateFormat类DateFormat类和它的子类SimpleDateFormat,后者是前者的子类,所以它有父类的format和parse方法。java.text.DateFormat:是日期/时间格式化......
  • 如何使用Java获取货币符号?
    1.前言最近做了一个支付相关的需求,要求在收银台页面显示商品的价格时带上货币符号¥,类似下图中的格式:最初我是用的下面这样的代码:System.out.println(Currency.getInsta......
  • es6新特性------学好类(class)这一篇就够了
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • java操作hadoop之MapReduce
    1.Mapper文件WordCountMapper.javapackagecom.hdfs;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoo......
  • 使用JavaWeb进行增删改查操作
    一、基本环境准备1、配置pop.xmlpop文件可以直接复制使用不作修改,也可以根据自己的需求进行增删依赖和插件 1<?xmlversion="1.0"encoding="UTF-8"?>2<project......
  • java运算符
    运算符基本了解运算符:对字面量或者对变量进行操作的符号表达式:用运算符把字面量或者变量连接起来(符合java语法的句子)就可以称为表达式,不同运算符连接的表达式体现......
  • javascript:微信扫一扫下载android应用的引导页
    一,js代码:<html><head><metacharset="utf-8"/><title>测试</title></head><bodystyle="padding:0px;margin:0px;"><!--background--><divsty......
  • oracle/mysql/lightdb/postgresql java jdbc类型映射
    MySQL数据类型JAVA数据类型JDBCTYPE普通变量类型主键类型BIGINTLongBIGINT支持支持TINYINTByteTINYINT支持不支持SMALLINTShortSMALLINT支持不支持MEDIUMINTIntegerINTEGER......
  • 【Java】【数据库】B树
    B-树的形式(B-树就是B树,而且'-'是一个连接符号,不是减号。)B树的结构如下不同于B+树(关于B+树,我的这篇博客里有写:B+树)的一些特点:数据\(K_i\)左边的树不会将\(K_i\)......
  • java 接口(interface)
    接口的作用:1.接口就是约束,它可以定义一些方法,让不同的人实现。2.接口不能被实例化,接口中没有构造方法。3.接口可以实现多个通过implement关键字去实现,实......