Java学习笔记DayN Java高级特性概况

对于实际用法不太了解 以后重点学习

泛型Generic:
解决数据类型的安全性问题
Java泛型只在编译阶段生效
泛型类:
class A<T>{}
对象实例化时不指定泛型,默认为:Object
类中有关数据类型在实例化的时候确定
泛型接口:
interface A<T>{}
接口 未传入泛型实参时,与泛型类的定义相同
class B<T> implements A<T>{}
实现接口时制定了泛型的具体数据类型
class B implements A<String>{}
泛型方法:
public <T> void xxx(T t){}
静态方法无法使用类定义的泛型变量,只可使用自身定义的泛型
泛型方法在调用时传入的实参类型决定了泛型的类型

enum枚举类:
枚举可以实现一个类中有多个特定对象的单例模式

Annotation注解
@Override @Deprecated @SuppressWarnings

IO流:
输入与输出都是相对于计算机而言-内存与硬盘之间的信息交互
File f = new File(“路径”);//文件分隔符用//或
文件字节流与文件字符流:
字节流可适用于所有文件,而字符流只适用于txt文件
字节流: FileInputStream FileOutputStream
字符流:FileReader FileWriter
read(File)方法返回值为-1时表示读取文件完毕
write方法写完后要用flush把数据从内存刷进硬盘
流用完就必须手动关闭close()

流是用来处理数据的
处理数据时,要明确数据源与数据目的地
流只是帮助数据进行传输,并进行一些处理(过滤处理,转换处理)

处理流之一:缓冲流
FileInputStream等流是计算机与硬盘的IO操作,相对较慢。
而缓冲流在一定程度上可以打破磁盘读写速度的限制
缓冲流先把数据缓冲进内存里,在内存中进行IO操作,速度可快75000倍
缓冲字节流:
BufferedInputStream BufferdOutputStream
BufferedInputStream br = new BufferedInputStream(new FileInputStream(""))
缓冲字符流
BufferedReader BufferedWriter

处理流之二:转换流
提供了字节流与字符流之间的转换
在转换字符流时,设置的字符集编码方式要与所读取的文件编码类型一致
InputStreamReader in = new InputStreamReader(字节流对象,"编码方式GBK/UTF-8")
OutputStreamReader

处理流之三:标准输入输出流
System.in System.out
InputStream PrintStream

处理流之四:打印流

处理流之五:数据流
专门用来做基本数据类型的读写
DataOutputStream
DataInputStream
读取时保证类型的一致性

处理流之六:对象流
对象的持久化:保存对象到硬盘 对象的网络传输
把对象转化成一个二进制的字节流进行保存和运输
ObjectOutputStream 序列化 将Java对象写入IO流
ObjectInputStream 反序列化 从IO流中回复Java对象
两者针对对象的各种属性,不包括类变量与类方法(static)
所序列化的对象必须实现Serializble或Externaliable接口
对象的序列化与反序列化使用的类要严格一致,包名,类名,类的结构

RandomAccessFile类
支持随机访问方式
2个参数:参数1是文件路径,参数2是访问模式r,rw,rws,rwd
seek();//设置读写器起始点
内容会覆盖等字节长度的原内容(一个汉字两字节)

反射Java Reflection:
Java能够反射的前提:已经在JVM中加载过这个类
Class类:
对所有类的高度抽象
通过Class可以得到一个类中的完整结构
一个类在JVM中只会有一个Class实例
一个Class对象对应的是一个加载到JVM中的一个.class文件
每个类的对象都会记得自己是由哪个Class实例所生成的
class实例化:
Class class = 类名.class;
Class class = 对象名.getClass();
Class class = Class.forName("类的全路径(类名.包名)");//class类的静态方法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/ziyang1060/p/13597764.html