参考地址:
1. http://www.cnblogs.com/lwbqqyumidi/p/3837629.html2. http://www.cnblogs.com/abcwt112/p/4735068.html3. http://www.cnblogs.com/chyu/p/4630798.html
 package learn.JavaBasics.Class;

 public class GenericDemo {
     private class Test<E> {
         private E i;

         public E get() {
             return this.i;
         }

         public void set(E str) {
             this.i = str;
         }

         public void echo() {
             System.out.println("echo test");
         }
     }

     public interface testInterface<E> {
         public E print();
     }

     /**
      * @param args
      */
     public static void main(String[] args) {
         // TODO Auto-generated method stub
         GenericDemo g = new GenericDemo();

         Test<Integer> a = g.new Test<Integer>();
         a.set(112);
         System.out.println(a.get());

         Test<String> s = g.new Test<String>();
         s.set("hello");
         System.out.println(s.get());

         g.put(a);
         g.put(s);

 //        g.putExtends(a);
         g.putExtends(s);

         g.putSuper(a);
 //        g.putSuper(s);

         System.out.println("*****");

         g.question(a).echo();
         g.question(s).echo();

         String is = new testInterface<String>() {
             @Override
             public String print() {
                 // TODO Auto-generated method stub

                 return "Interface Generic Test";
             }
         }.print();

         System.out.println(is);
     }

     public void put(Test<?> t) {
         System.out.println(t.get());
     }

     public void putExtends(Test<? extends String> t) {
         System.out.println(t.get());
     }

     public void putSuper(Test<? super Integer> t) {
         System.out.println(t.get());
     }

     public Test<?> question(Test<?> t) {
         System.out.println(t);
         return t;
     }
 }

java高薪之路__004_泛型的更多相关文章

  1. java高薪之路__007_反射

    参考地址: 1. http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html2. http://www.cnblogs.com/ ...

  2. java高薪之路__009_网络

    1. InetAddress类2. Socket: IP地址和端口号的结合,socket允许程序把网络连接当成一个流,数据在两个socket间通过IO传输, 通信的两端都要有socket. 主动发起通 ...

  3. java高薪之路__008_Annotation

    元注解 共有4种 @Retention 表示需要在什么级别保存该注释信息(生命周期) |--- RetentionPolicy.SOURCE: 停留在java源文件,编译器被丢掉 |--- Reten ...

  4. java高薪之路__005_IO流

    参考地址: 1. http://blog.csdn.net/yczz/article/details/38761237 File类 ObjectInputStream && Objec ...

  5. java高薪之路__003_集合

    Java集合可分为Collection和Map两大体系 Collection接口 |---- Set: 元素无序.不可重复 |---- List: 元素有序.可重复 (动态数组) |---- Queu ...

  6. java高薪之路__002_异常处理

    自定义异常 package learn.JavaBasics.Class; import java.util.Date; /** * 如何自定义一个异常类 * 1. 继承一个现有的异常类 * 2. 提 ...

  7. java高薪之路__001_类

    Java中内部类分四种:成员内部类.局部内部类.静态内部类和匿名内部类.要注意静态内部类的调用方式与其他不同,采用的是类似调用类中的静态属性.静态方法的方式 Multi Level 调用不同类中的相同 ...

  8. java高薪之路__010_设计模式

    设计模式只是一个在构建大型工程时,为了方便更改,添加,查询和管理的一种代码工具,没有必要单独为了设计模式而使用设计模式,使简单的事情复杂化. 总体来说设计模式分为三大类: 1. 创建型模式,共五种 - ...

  9. java高薪之路__006_多线程

    线程的创建有两种方式 package learn.JavaBasics.Class; public class ThreadDemo extends Thread { private static i ...

随机推荐

  1. Multi-level Multi-select plugin

    Property file: Country[tab]City United States[tab]San Francisco United States[tab]Chicago Mexico[tab ...

  2. IOS移动设备处理器指令集 armv6、armv7、armv7s及arm64

    Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色. Armv6.armv7.armv7s.arm64都是ar ...

  3. Java集合---HashMap源码剖析

    一.HashMap概述二.HashMap的数据结构三.HashMap源码分析     1.关键属性     2.构造方法     3.存储数据     4.调整大小 5.数据读取           ...

  4. iScroll.js和swiper.js

    最近系统地学习了iScroll.js和swiper.js,感觉它们在移动端特别好用:http://www.360doc.com/content/14/0724/11/16276861_39669990 ...

  5. JSTL定制标签 - 递归标签显示属性结构

  6. LuaXMLRPC笔记

    XMLRPC XMLRPC 为以http为传输协议,使用xml格式化数据来执行远程过程调用, 区别于本地过程调用, 即发生在不同主机之间. 属于分布式计算的一种简单实现,比web service简单易 ...

  7. EF 之 MVC 排序,查询,分页 Sorting, Filtering, and Paging For MVC About EF

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    上篇博客我们学习了EF CodeFirst增删改查 ...

  8. 如何用openvr api打开vive前置摄像头

    随着越来越多的开发者开始他们的VR开发工作,他们看到了这项技术的巨大潜力,像是Valve这样的公司正在想办法保证他们的软件开发包(SDK)能够提供尽量多的功能.今天这家公司发布了其针对SteamVR的 ...

  9. sdutoj 2623 The number of steps

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2623 The number of steps ...

  10. windows系统调用 遍历进程的虚拟地址

    #include "iostream" #include "windows.h" #include "shlwapi.h" #include ...