android支持java14吗,java实战基础---android studio(14)2020-04-09

泛型

在定义类或者接口的时候 需要操作数据 但是不清楚使用者那种数据

(定义类 ,接口,变量,方法)

在定义的时候可以使用泛型来代替任意的类型,但是在使用的时候(定义变量,创建对象)必须传递实际类型

泛型类

class Test {

E var1;

}

public class NyClass {

public static void main(String[] args) {

Test test;

new Test();

//创建对象的时候使用变量去保存

//这个时候变量类型需要声明具体类型 new后面可以省略

Test test2 = new Test<>();

test2.var1 = "jack";

System.out.println(test2.var1.getClass());

}

}

泛型接口

类继承一个接口时

1,指定接口的类型

class MyTest implements ITest{

@Override

public void test(String s) {

}

}

public class NyClass {

public static void main(String[] args) {

ITest test = new MyTest<>();

}

// public void t1(){..}

}

2,指定当前类为泛型

class MyTest implements ITest{

@Override

public void test(T t) {

}

}

public class NyClass {

public static void main(String[] args) {

ITest test = new ITest() {

@Override

public void test(String s) {

}

};

}

// public void t1(){..}

}

泛型方法

必须在方法前使用来表示需要使用泛型

class Foo{

public void test(T t) {

System.out.println(t);

}

}

public class NyClass {

public static void main(String[] args) {

Foo foo = new Foo();

ArrayList name = new ArrayList<>();

name.add("jack");

name.add("merry");

foo.test(name);

}

}

? 通配符

当在使用一个泛型时,如果还不确定到底是什么类型,可以使用?来表示任意类型

public void showList(List> list){

for (int i = 0; i

System.out.println(list.get(i));

}

}

public class NyClass {

public static void main(String[] args) {

Foo foo = new Foo();

ArrayList names = new ArrayList<>();

names.add("jack");

names.add("merry");

foo.test(names);

}

}

设置泛型上线

class Milk{

}

class TianyouMilk extends Milk{

}

class Student{

public void eat(T t){

}

}

public class NyClass {

public static void main(String[] args) {

Student xw ;//= new Student<>();

Student zs;

}

}

下线 用super设置

class STest{

public void copy(List src,List super T> dest){

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值