zoukankan      html  css  js  c++  java
  • [Java 10 泛型] 泛型通配符 Info<?> i = new Info<String>(); 在程序中定义没有方法的接口,称之为标识接口

    p10 第十章 泛型
     (1), 自己写个基本的范型
     (2), 泛型通配符
    Info<?> i = new Info<String>();
     (3), 受限泛型 Info<? extends Number> temp; 下限 : Info<? super String> temp;
     (4), 泛型 与 子类继承的限制
         * 一个类的子类可以通过对象多态性为其父类实例化,但是在泛型操作中,子类的泛型类型是无法使用父类的泛型类型接收的。
         * Info<String> 不能使用 Info<Object> 接收
         * 泛型中无法向上转型
     (5), 泛型接口的两种实现方式
          泛型方法
     总结 : *1, 泛型可以使程序的操作更加安全,可以避免发生类转换异常
                   *2, 在程序中如果使用类时没有指定泛型,则泛型将被擦除掉,将使用 Object 接收参数
                   *3, 泛型方法可以定义在泛型类中,也可以定义在普通类中
                   *4, 泛型可以在接口中定义
                   *5, 在程序中定义没有方法的接口,称之为标识接口
    package com.qunar.basicJava.javase.p10Generics;
    
    /**
     * Author: libin.chen@qunar.com  Date: 14-5-20 18:28
     */
    
    class Point<T> {
        private T var;
    
        Point() {
    
        }
    
        Point(T var) {
            this.var = var;
        }
    
        public T getVar() {
            return var;
        }
        public void setVar(T var) {
            this.var = var;
        }
    }
    public class GenericsDemo01 {
        public static void main(String[] args) {
            Point<Integer> p = new Point<>();
            p.setVar(30);
            System.out.println(p.getVar() * 2);
            Point<String> ps = new Point<>();
            ps.setVar("robby_chan");
            System.out.println(ps.getVar() + " haha");
        }
    
    }
    

  • 相关阅读:
    【LeetCode】3Sum Closest 解题报告
    LOJ#6277. 数列分块入门 1
    洛谷P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
    LOJ #108. 多项式乘法
    快速傅里叶变换(FFT)详解
    HDU 5536 Chip Factory
    洛谷P4093 [HEOI2016/TJOI2016]序列
    洛谷P2633 Count on a tree
    HDU 4825 Xor Sum
    洛谷T21778 过年
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786507.html
Copyright © 2011-2022 走看看