枚举和注解
枚举类
使用enum定义枚举类
enum Season implements ITest{
SPRING("春天","春暖花开"),//相当于调用构造方法
SUMMER("夏天","炎炎夏日"),
AUTUMN("秋天","秋高气爽"),
WINTER("冬天","寒风凛冽");
private final String name;
private final String desc;
private Season(String name,String desc){
this.name = name;
this.desc = desc;
}
public void showInfo(){
System.out.println(this.name+":"+this.desc);
}
public void test(){
}
}
interface ITest{
void test();
}
//main
Season spring = Season.SPRING;
//Season.SPRING,这段代码是获取一个Season对象
spring.showInfo();
spring.test();
注解(Annotation)
Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。
三个基本注解:
@Override:限定重写父类方法,该注释只能用于方法。
@Deprecated:用于表示某个程序元素(类,方法等)已过时。
@SuppressWarnings:抑制编译器警告。
自定义Annotation
使用@interface
@Target(ElementType.FIELD)//这个注解类是给其他类的属性做注解
@Retention(RetentionPolicy.RUNTIME)//定义注解的生命周期
@Documented
@interface Test{
public int id() default 0;
public String desc() default "";
}
class Test1{
@Test(id=100,desc="姓名")
String name;
}
IO流
java.io.File类(计算机操作系统中的文件和文件夹)。
流:通过程序把一个图放到某一个文件夹,把图片转化为一个数据集(例如二进制),把这些数据一点一点传到文件夹,这个传递的过程类似于水的流动,我们就称这个整体的数据集是一个数据流。
文件流:数据流的读写都是基于文件的操作。
缓冲流:数据流的读写都是基于内存的操作。
转换流
标准输入/输出流
打印流
数据流
对象流:把一个对象转换成一个数据流进行读写
随机存取文件流:注意随机的概念,例如一个TXT文件,其中有100行数据,可以直接读取第50行的数据,也可以在89行插入数据,这叫随机。