定义类、方法和接口的时候如果类型不确定就可以使用泛型如果说类型不确定继承体系确定就可以使用泛型的通配符多态是子类重写父类的方法父类的指针或者引用指向子类的对象多态的缺点就是不再能访问子类特有的功能泛型再添加数据的时候对添加的数据进行了规定看门老大爷。在出现泛型之前集合中所有的数据默认是Object类型没办法调用子类特有的功能强制转化很麻烦泛型仅仅支持引用数据类型并不支持基本数据类型。如果是基本数据类型他是无法转化为Object类型的所以就无法实现。泛性中可以存入该类类型和该类子类类型。重写toString方法的作用在打印对象的时候出现的是对象的属性值而不是对象的地址值。Arrays.toString(obj)把数组中的所有元素拼接成字符串在进行返回在编写一个类的时候如果还不确定某个变量的数据类型可以用泛型类。修饰符 class 类名类型{}可变数组String...s实际上是一个可变数组泛型方法中如果不确定要传进来多少个参数可以使用可变数组。泛型方法和泛型类主要是不确定变量的作用域不同。修饰符 类型 返回值类型 函数名{}在泛型接口之中可以是实现类给出具体的类型也可以是类延续泛型在创建类的时候在确定类型。interface 接口名 类型{}泛型不具备继承性数据具备继承性。如果说一个方法要求传入的是一个指定了泛型的集合这时方法的实参不能是这个泛型子类泛型的集合。如果说一个集合规定了一个泛型那么这个集合之中可以传入这个泛型子类型的数据。泛型的通配符:? extends E ? super E