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

贵阳网站建设培训内江 网站建设

贵阳网站建设培训,内江 网站建设,wordpress怎么查看主题,济南手机建站模板泛型概述 Java泛型(generics)是DK5中引入的一个新特性#xff0c;泛型提供了编译时类型安全监测机制#xff0c;该机制允许我们在编译时检测到非法的类型数据结构。 泛型的本质就是参数化类型#xff0c;也就是所操作的数据类型被指定为一个参数。 如我们经常使用的Array…泛型概述 Java泛型(generics)是DK5中引入的一个新特性泛型提供了编译时类型安全监测机制该机制允许我们在编译时检测到非法的类型数据结构。 泛型的本质就是参数化类型也就是所操作的数据类型被指定为一个参数。 如我们经常使用的ArrayList中的使用E表示泛型的形参需要我们传递指定实际的类型。 如果不指定默认是Object类型Object不能强转为其本身的子类型所以出现java.lang.Object无法转换为java.lang.String。 泛型类和接口 泛型类 1、泛型类的定义语法 2、常用的泛型标识T、E、K、V 泛型标识可以作为成员变量的类型定义标识和函数的返回类型标识和成员方法的参数类型标识。 class TestT{ //T创建对象的时候指定数据类型private T a;public T getA(T b){return a;}}//具体的实现如下TestInteger t new Test();//使用Integer类型指定 T 具体是什么3、 泛型类相关知识 泛型类在创建对象的时候来指定操作的具体类型如果在创建对象的时候没有指定具体类型将会按照Object类型操作。泛型类不支持传入基本类型因为传入的类型需要时Object的子类在类型擦除的时候如果没有extendssuper,会默认把泛型参数变为Object具体泛型擦除看下边泛型类型在逻辑上可以看成是不同数据类型但实际上事相同的类型因为使用了泛型我们可以在一个类中使用不同的数据类型如Integer,String等 泛型子类 1、子类是泛型类 父类是泛型类子类也是泛型类子类中的泛型变量要有一个和父类的泛型要保持一致 class TestT{private T a;public T getA(T b){return a;} }class Son1T,K extends TestT{ //如果父类是泛型类子类要有一个泛型变量和父类保持一致 } class Son2K extends TestT{ //报错不保持一致会报错 }2、子类不是泛型类 子类不是泛型类父类要明确泛型的数据类型 class TestT{private T a;public T getA(T b){return a;} }class Son1 extends TestString{ //子类不是泛型类父类要明确泛型的数据类型 } class Son2 extends TestT{ //报错:需要明确父类的泛型数据类型 }泛型接口 泛型接口的定义语法 interface TestT{T get(T a); } class Son1T,K implements TestT{Overridepublic T get(T a) {return null;} } class Son2 implements TestString{Overridepublic String get(String a) {return null;} } class Son3 implements Test{//如果不写的话默认的T就会变成ObjectOverridepublic Object get(Object a) {return null;} }实现类不是泛型类接口要明确数据类型实现类也是泛型类实现类和接口的泛型类型要一致 泛型方法 pub1ic与返回值中间非常重要可以理解为声明此方法为泛型方法。只有声明了的方法才是泛型方法泛型类中的使用了泛型的成员方法并不是泛型方法。表明该方法将使用泛型类型T,此时才可以在方法中使用泛型类型T.与泛型类的定义一样此处T可以随便写为任意标识常见的如T、E、K、V等形式的参数常用于表示泛型。反向方法支持静态但是泛型类中的成员方法不支持静态static的使用 举例如下 class Test1{public T T geta(T a){return a;} } public class Main {public static void main(String[] args) {Test1 test1 new Test1();Integer geta test1.geta(1);//根据传入参数的类型指定泛型形参} }反向方法的可变参数 泛型方法总结 泛型方法能使方法独立于类而产生变化如果static方法要使用泛型能力就必须使其成为泛型方法 类型通配符 类型通配符上限 类型通配符一般是使用?代替具体的类型参数所以类型通配符是类型实参. ? extends Number表示的是类型通配符的上线是Number class Test1T{public void get1(){} } public class Main{public static void main(String[] args) {get(new Test1());get1(new Test1Integer());}public static void get(Test1? test1){test1.get1();}public static void get1(Test1? extends Number test1){test1.get1();} }类型通配符下限 采用super关键字 ? super Number表示类型最低是Number class Test1T{public void get1(){} } public class Main{public static void main(String[] args) {get(new Test1());get1(new Test1Number());}public static void get(Test1? test1){test1.get1();}public static void get1(Test1? super Number test1){test1.get1();}类型擦除 无限制的类型擦除 有限制的类型擦除 擦除方法中类型定义的参数 桥接方法 因为在编译的时候为了保证实现类重写了接口的方法虽然实现类有了Integer的方法但是在泛型擦除的时候会在实现类中生成一个Object的方法。 泛型与数组 泛型数组的创建 可以声明带泛型的数组引用但是不能直接创建带泛型的数组对象可以通过java.lang.reflect.Array的newInstance(Class,int)创建T[]数组 方法一 public static void main(String[] args) {ArrayListString[] a new ArrayListString[4]; //错误案例ArrayListString[] b new ArrayList[4];//创建数组}方法二 class Test1T{private T[] arr;public Test1(ClassT clz,int len){ //创建数组arr (T[]) Array.newInstance(clz,len);}public void put(int index, T item){arr[index]item;} }泛型与反射 public static void main(String[] args) throws Exception {Class test1Class Test1.class;Constructor constructor test1Class.getConstructor();Object o constructor.newInstance();}反射常用的泛型类 ClassT ConstructorTWritten By 知识浅谈Pro
http://www.w-s-a.com/news/129741/

相关文章:

  • 国际网站空间昆明做网站开发维护的公司
  • 建网站选号域名网站优化大赛
  • 师范街网站建设广告制作公司口号
  • 电子商务网站开发设计报告为什么wordpress主题中字体不统一
  • 百度站长快速收录网站建设完工确认书
  • 企业网站备案代理商建设工程施工合同2013
  • 要学做网站wordpress xss漏洞
  • 白云品牌型网站建设在网上做国际快递淘宝网站
  • 无锡网站建设方式推广软件赚钱的app
  • 如何控制一个网站软件开发wordpress教育插件
  • 网站开发属于软件开发类吗wordpress邮件失败
  • 凡科网站怎么设计win8网站模板
  • 深圳整站seo个人网站建设一般流程
  • 济南网站中企动力wordpress主题ripro
  • 淮北网站建设求职简历怎么做点击图片进网站
  • 自适应网站推广注册公司流程和费用公司注册
  • 电子商务网站建设预算表网站建设卩金手指科杰
  • 广西响应式网站哪家好产品网络推广怎样做
  • 移动网可以上的网站是什么样子的淘宝优惠券网站开发
  • wordpress php设置伊宁seo网站建设
  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗