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

分析苏宁易购的网站建设网站建设net接口

分析苏宁易购的网站建设,网站建设net接口,用地方别名做网站名,怎样在网做旅游网站文章目录 1. 为什么要有泛型Generic2. 泛型怎么用2.1. 泛型类2.2. 泛型接口2.3. 泛型方法 3. 泛型通配符3.1. 通配符3.2. 有限制的通配符 1. 为什么要有泛型Generic 泛型#xff0c;JDK1.5新加入的#xff0c;解决数据类型的安全性问题#xff0c;其主要原理是在类声明时通过… 文章目录 1. 为什么要有泛型Generic2. 泛型怎么用2.1. 泛型类2.2. 泛型接口2.3. 泛型方法 3. 泛型通配符3.1. 通配符3.2. 有限制的通配符 1. 为什么要有泛型Generic 泛型JDK1.5新加入的解决数据类型的安全性问题其主要原理是在类声明时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这样在类声明或实例化时只要指定好需要的具体的类型即可。     Java泛型可以保证如果程序在编译时没有发出警告运行时就不会产生ClassCastException异常。同时代码更加简洁、健壮。 举例 package day11;import java.util.ArrayList; import java.util.List;public class Test {public static void main(String[] args) {List list new ArrayList();//不指定泛型可以向list集合中添加各种类型元素list.add(111);list.add(sss);list.add(true);//需求只能在集合中存字符串ListString l new ArrayListString();l.add(xx); // l.add(111);//指定的String类型不可以添加String以外的元素类型}} Java中的泛型只在编译阶段有效。在编译过程中正确检验泛型结果后会将泛型的相关信息擦除并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。也就是说泛型信息不会进入到运行时阶段。     解释     视频中老师说比如上段代码中最后一行的l.add(111)在编译期间就会报错只有删除这一行或者将里面的数据改成String类型后才可以通过编译。 2. 泛型怎么用 2.1. 泛型类 对象实例化时不指定泛型默认为 Object 。 泛型不同的引用不能相互赋值。 package day11;import java.util.ArrayList; import java.util.List;public class Test {public static void main(String[] args) {AString a1 new AString();//在new A的对象的时候指定泛型的类型Stringa1.setKey(xxxx);//对象使用setKey(T key)方法中的key形参就是StringSystem.out.println(a1.getKey());//T getKey(),返回值就有new对象确定返回值是StringAInteger a2 new AInteger();a2.setKey(1);Integer i a2.getKey();A a3 new A();//不指定泛型相当于指定了一个Object类型//AObject a3 new AObject();//等同于上行代码a3.setKey(new Object());Object obj a3.getKey();//同样的类但是在new对象时指定不同的数据类型那么这些对象不能互相赋值a1 a2;//错误不同的数据类型不能互相赋值}}/*** 此处的泛型‘T’可以任意的取名即可换成A,B,C等* 一般使用T译为type* author 14532** param T*/ class AT{// 中的内容可以任何取名按惯例是Tprivate T key;public void setKey(T key) {this.key key;}public T getKey() {return this.key;} }2.2. 泛型接口 定义一个泛型接口 interface GeneratorT {     T next(); } ①未传入泛型实参时与泛型类的定义相同在声明类的时候需将泛型的声明也一起加到类中 ②如果实现接口时指定接口的泛型的具体数据类型这个类实现接口所有方法的位置都要替换实际的具体数据类型 举例 package day11;public class Test1 {public static void main(String[] args) {B1Object b1 new B1Object();B1String b11 new B1String();B2 b2 new B2();//不用指定泛型指定泛型反而会报错} }interface IBT{T test(T t); }/*** 未传入泛型实参时与泛型类的定义相同在声明类的时候需将泛型的声明也一起加到类中* author 14532** param T*/ class B1T implements IBT{//B1T:未传入实参将泛型的声明T也一起加到类中Overridepublic T test(T t) {return t;} }/*** 如果实现接口时指定接口的泛型的具体数据类型* 这个类实现接口所有方法的位置都要替换实际的具体数据类型* author 14532**/ class B2 implements IBString{Overridepublic String test(String t) {return null;} }2.3. 泛型方法 方法也可以被泛型化不管此时定义在其中的类是不是泛型化的。在泛型方法中可以定义泛型参数此时参数的类型就是传入数据的类型。 泛型方法的格式 public class DAO {     public E void show(E e){         System.out.println(e.toString());     }     public T T show1(T t){         return t;     } } 举例 class Cc{/*** 无返回值的泛型方法* param T* param s*/public T void test(T s) {T t s;}/*** 有返回值的泛型方法* param T* param s* return*/public T T test1(T s) {return s;}/*** 形参为可变参数的泛型方法* param T* param strs*/public T void test2(T... strs) {for(T s : strs) {System.out.println(s);}}}举例2 package day11;public class Test1 {public static void main(String[] args) {CcObject c new CcObject();c.test(xxx);//泛型方法在调用之前没有固定的数据类型//在调用时传入的参数是什么类型就会把泛型改成什么类型//也就是说泛型方法会在调用时确定泛型的具体数据类型Integer i c.test1(2);//传递的参数是Integer泛型就固定成Integer返回值就是IntegerBoolean b c.test1(true);//传递的参数是Boolean泛型就固定成Boolean返回值就是Boolean} }class CcE{private E e;// public static void test3() { // //在静态方法中不能使用类定义的泛型如果要使用泛型只能使用静态方法自己定义的泛型 // //System.out.println(this.e); // }/*** 静态方法的泛型方法* param T* param t*/public static T void test3(T t) {//在静态方法中不能使用类定义的泛型如果要使用泛型只能使用静态方法自己定义的泛型System.out.println(t);}/*** 无返回值的泛型方法* param T* param s*/public T void test(T s) {//在类上定义的泛型可以在普通的方法中使用System.out.println(this.e);T t s;}/*** 有返回值的泛型方法* param T* param s* return*/public T T test1(T s) {return s;}/*** 形参为可变参数的泛型方法* param T* param strs*/public T void test2(T... strs) {for(T s : strs) {System.out.println(s);}}}3. 泛型通配符 3.1. 通配符 不确定集合中的元素具体的数据类型使用?表示所有类型 如 public void test(List? list){System.out.println(list);}举例 package day11;import java.util.ArrayList; import java.util.List;public class Test2 {public static void main(String[] args) {Dd d new Dd();ListString l1 new ArrayListString();//?:可以代表各种类型如String、Integerd.test(l1);ListInteger l2 new ArrayListInteger();d.test(l2);}}class Dd {public void test(List? list) {//test方法需要一个list集合的参数不确定list集合中到底是存的数据的类型是什么} }3.2. 有限制的通配符 举例 ? extends Person (无穷小, Person) 只允许泛型为Person及Person父类的引用调用 ? super Person [Person, 无穷大] 只允许泛型为Person及Person父类的引用调用 ? extends Comparable 只允许泛型为实现Comparable接口的实现类的引用调用 举例 package day11;import java.util.ArrayList; import java.util.List;public class Test2 {public static void main(String[] args) {Dd d new Dd();//list参数的元素数据类型是CC1及其子类ListCC1 lc new ArrayListCC1();d.test1(lc);ListDD1 ld new ArrayListDD1();d.test1(ld);// ListBB1 lb new ArrayListBB1(); //BB1不是CC1的子类 // d.test1(lb);//list参数的元素数据类型是CC1及其父类 d.test2(lc);ListBB1 lb new ArrayListBB1();d.test2(lb);ListAA1 la new ArrayListAA1();d.test2(la);// d.test2(ld);//DD1不是CC1的父类//list参数的元素数据类型是IA的实现类ListIAImpl lia new ArrayListIAImpl();d.test3(lia);// d.test3(la);//AA1不是IA的实现类} }class Dd {public void test(List? list) {//test方法需要一个list集合的参数不确定list集合中到底是存的数据的类型是什么}public void test1(List? extends CC1 list) {//list参数的元素数据类型是CC1及其子类}public void test2(List? super CC1 lsit) {//参数的元素数据类型是CC1及其父类 }public void test3(List? extends IA lsit) {//list参数的元素数据类型是IA的实现类} }class AA1{}class BB1 extends AA1{}class CC1 extends BB1{}class DD1 extends CC1{}interface IA{}class IAImpl implements IA{}
http://www.hkea.cn/news/14274080/

相关文章:

  • 专业网站设计模板成都app开发制作公司
  • 做网站将文字放在图片上网站开发采购合同模板下载
  • 南京手机网站制作公司模板手机网站建设价格明细表
  • 企业网站建站模板企业形象网站怎么做
  • 平台设计师网站推广优化网址
  • 蚌埠网站制作哪家好广州中智软件开发有限公司
  • 昆明网站建设c3sales网络营销的期末试题及答案
  • 杭州建设局网站首页 柳全国高校校园网站建设与发展高级研修班
  • 设计师接私单网站西安网站开发培训
  • 漳州专业网站建设价格青白江区网站开发招聘
  • 中国建设信用卡积分兑换网站上海松一网站建设
  • 汕头企业制作网站推广网上开店准备工作
  • 龙岗免费的网站制作广州建站业务公司
  • 做网站用那种数据库深圳html5网站建设
  • 杜集网站建设大基建最新消息
  • 企业网站建设及运营现状分析公司品牌推广方案范文
  • 0基础做网站湖南旅游攻略
  • 淮北论坛租房信息网站seo快速排名
  • 建网站淄博目录和文章wordpress
  • 彩票网站怎么做赚钱吗wordpress 动态菜单
  • 怎么做类似淘宝网站吗同一服务器如何建设多个网站
  • 嘉兴有能做网站优化手把手教你做网站视频
  • 网站建设需求分析报告功能新媒体运营培训
  • 想自己在家做外贸网站卡密wordpress插件
  • 网站上百度要怎么做的建e网室内设计效果图餐厅
  • 做外贸要看哪些网站好万网域名
  • 如何兼职做网站新能源电动汽车电池价格
  • 大同网站建设熊掌号传统文化网站设计
  • 网站开发建设账务处理程序长治推广型网站开发
  • 银行网站开发武邑网站建设公司