记录生活中的点点滴滴

0%

day18

泛型的应用:

 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 是 B的父类

通配符: ? 的使用:

  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()