一.高级特性
1.内部类:
内部类的方法可以访问它所在的外部类中的所有变量,包括private 的;
对于同一个包中的其它类它是隐藏的;
匿名的内部类可以让我们很方便的定义事件响应,这GUI编程中很常见。通常内部类分为以下四种:成员内部类、静态内部类、匿名内部类;
2.成员内部类:
成员类不能与外部类重名;
不能在成员类中定义static属性、方法和类。因为一个成员类实例必然与一个外部类实例关联,这static定义完全可以移到其他外部类中去。
3.静态内部类:
静态成员类不能与外部类重名;
想外部类的静态方法一样,不能直接访问外部类的实例属性和实例方法;
匿名内部类:
4.装箱和拆箱:
5.枚举类型:
6.作用域和生存周期:
生存周期是一个时间的概念,简单来说就是从一个变量或对象从创建到被垃圾回收的整个过程。变量的生存周期收到其作用域的至于和影响。
基本数据类型:在语句块中,变量声明时创建,出语句块时,自动被回收;
引用类型:在遇到new语句时创建对象,在出语句块时自动回收;
static:用法:静态变量、全局使用、生存周期为整个程序运行时;
7.JDK:类库集合
二.JAVA类集和映射
1.collection类集框架:
Java的集合框架提供了处理程序对象集合的标准化方法。
2.集合框架的接口:
Iteralbe:迭代器接口,使得实现该接口的类的对象,能够遍历几个对象中的每一个元素;
Collection:集合类接口,提供了如添加、溢出、清空、获取大小等基本的集合类操作;
List:有序列表接口,提供如添加、溢出、重设、清空、获取索引等操作;
Set:不重复列表接口,和List的区别在于不允许集合中元素重复,且最多只能有一个为空元素。
Queue:队列接口,符合FIFO原则;
SortedSet:
Map:键值对组合散列表数据集合,提供了get、put等基本方法;
二,文件输入输出流
1.文件和目录类File
File是直接处理文件和文件系统,也就是说,FIle类没有指定信息怎样从文件读取或这向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限、时间、日期和目录路径等;
此外File还浏览子目录层次结构,很多程序中文件是数据的根源和目标。尽管他们在小应用程序中因为安全原因而收到严格限制,文件仍是存储固定和共享信息的主要资源。Java中的目录当成File对待,他具有附加的属性————一个可以被List()方法检测的文件名列表;
FIle类构造函数:
File f1 = new File("/");
File f2 = new File("/",autoexec.bat);
File f3 = new File(f1,"autoexec.bat");
常用的方法:
getName();getParent();getParentFile();getPath();isAbsolute();......等等
2.IO流
Io是计算机输出输入流的接口。
IO体系分input/output和reader/writer两类,基本上,多有的IOlei都是配对的。
InputStream和OutputStream设计成字节流类;
Reader和Writer为字符流设计。
一般来说,处理字符或字符串时应使用字符流类,处理字节或二进制对象时应用字节流类。
2.1 字节流:InputStream()/OutputStream();FileInputStream(文件输入流)/FIleOutputStream(文件输出流)
2.2 字符流:Reader/Writer;FileReader()/FileWriter();BufferReader()/BufferedWriter();
3.String 和StringBuilder
StringBuffer线程安全的可变字符序列;
StringBuilder:不执行同步,速度更快;