泛型:
不需要做强转了
<引用类型>
自定义泛型:
泛型类:
class 类名<泛型参数名>{
}
类上定义的泛型参数在整个类中都可以使用,当创建该类对象时,才能确定泛型参数类型
泛型方法:
非静态方法:
修饰符 <泛型参数> 返回值类型 方法名(泛型参数 参数名){}
当调用该方法是确定泛型参数类型
静态方法:
修饰符 static <泛型参数> 返回值类型 方法名(泛型参数 参数名){}
由于静态方法不需要对象,所以不能使用类上定义的泛型
当调用该方法是确定泛型参数类型
泛型接口:
interface 接口名<泛型参数名>{
}
接口上定义的泛型参数在整个接口中都可以使用,当创建该接口的实现类时,才能确定泛型参数类型
interface Inter<E>{
public void a(E e);
}
class MyInter<E> implements Inter<E>{
@Override
public void a(E e) {
}
}
以上格式可以认为接口泛型具有传递性,当创建实现类对象时,确定泛型参数类型
通配符:
?:可以认为是任意类型,相当于是Object类型
泛型的限定:
上限:? extends E:代表的是能接收E类型或者是E的子类型
下限:? super E:代表的是能接收E类型或者是E的父类型
IO技术:
input,output
java.io包
File类:
描述文件或者是文件夹这类事物
只是用来封装文件或者是文件夹的相关信息。
获取方法:
判断方法:
创建方法:
删除方法:
详见Demo05.java和Demo04.java文件
文件过滤器:
FilenameFilter
FileFilter
IO:
按照操作的数据类型:
字节流和字符流
按照数据方向分为:
输入流 : read,将数据给到应用程序
输出流 : write:通过应用程序存储到目的地
字节流:
图片,视频文件,音频文件,等二进制类型文件
抽象类
InputStream :输入流
OutputStream :输出流