泛型的应用:
1.JDK 5.0 新增的特性
2.主要内容:
2.1 在集合中使用泛型
2.2 如何自定义泛型类,泛型接口,泛型方法(理解)
2.3 泛型在继承上的体现(掌握)
2.4 通配符的使用(掌握)
在集合中使用泛型的情况
在集合中使用泛型
1.在Java的集合中,声明的接口或者类已经声明泛型
2.我们在实例化接口时,可以指明泛型的类型
3.不能使用基本数据类型,需要使用对应的包装类替换
4.一旦创建对象时,使用了泛型,则通过对象调用方法,属性时,如果方法或属性使用了类的泛型, 则此时泛型类型就是对象实例化时候的类型
5.如果实例化时候,不指明泛型参数,则默认是Object类型
自定义泛型类:
仿照List去创建
1.在类的声明后面,指明泛型参数,参数通常使用:T E K V
2.在类的属性,方法,构造器中,可以使用类的泛型参数
- 使用了类的泛型参数的方法,不能声明为static的
- 不能在try-catch中使用泛型参数表示异常类型
关于自定义泛型类,泛型接口,泛型方法的使用
自定义泛型类的使用:
1.在实例化泛型类时,可以指明泛型的参数类型
2.提供泛型类的子类时,可以指明泛型的参数类型.比如:SubOrder1类
泛型在继承上的体现
1.如果A类是B类的父类,则List与List是没有子父类的关系的
扩展:则G 和 G没有子父类关系!
2.如果A类是B类的父类,则A
通配符: ? 的使用:
A类是B的父类,则G 和 G 的公共父类为G<?>
关于数据的读写问题
写入数据:不允许向使用通匹配符的集合中写入数据,除非可以写入null
读取数据:可以从使用了通配符的集合中读取数据。读取的数据的类型默认是Object
有限制条件的通配符的使用?
? extends A:举例:List<? extends A> 可以作为List或者List的父类,其中B类是A类的子类?
? super A: 举例:List<? super A> 可以作为List或List的父类,其中B类是A类的父类
File类:
1.java.io包下定义的
2.一个File类的对象,既可以表示一个文件(.txt,.mp3,.avi,mp4,.doc),也可以表示一个文件目录。
3.File类中只涉及到文件或文件目录的新建、删除、长度、修改时间、重命名等操作。没有涉及到对文件内容的修改。如果需要对文件内容进行修改的话,需要使用流。
4.File类的对象常常作为流的构造器的参数出现。
5.File类的对象代表着流资源读取或写入到的文件。
File类的实例化
绝对路径:包含盘符在内的文件或文件目录的完整路径
相对路径:相较于某一层文件路径来讲。比如:在Eclipse中的相对路径是相较于当前工程的。
两个构造器:
File(String pathname)
File(String parent,String pathname)
获取文件名:
getName()
getPath()
getAbsoluteFile()
getAbsolutePath()
getParent()
toPath()
renameTo(File newName)
file1.renameTo(File file2):file1重命名为file2是否成功
如果希望返回值为true.则必须:file1对应的物理磁盘上的文件需要存在,且file2对应的物理磁盘上的文件不存在。
文件检测:
exists()
canWrite()
canRead()
isFile()
isDirectory()
获取文件常规信息:
lastModified()
length()
操作文件相关的:
createNewFile():在物理磁盘上创建指定路径的文件
delete():删除物理磁盘上指定路径的文件
操作文件目录相关的:
mkdir()/mkdirs():如果要创建的文件目录的上层目录存在,则二者没有区别。
如果要创建的文件目录的上层目录不存在,mkdir()创建不成功,mkdirs()创建成功。
delete():删除物理磁盘上指定路径的文件目录list()listFiles()
list() / listFiles()