Java内部类
枚举类型: 描述一种事物的所有情况|所有可能|所有实例
1.通过enum关键字定义枚举类型
2.枚举的成员,字段都作为当前枚举类型的实例存在,默认被public static final修饰
3.定义的枚举类型都会隐式的继承自java.lang.Enum 这是所有Java语言枚举类型的公共基类。
4.在枚举类型中构造器默认私有
public class Class001_Enum {
public static void main(String[] args) {
System.out.println(WeekDays.SUN);
//使用枚举类型的实例
WeekDays sun = WeekDays.SUN;
System.out.println(sun.getName());
//name() 获取枚举类型实例的字段名
System.out.println(sun.name());
//获取枚举对象在枚举类的字段列表中的索引值
System.out.println(sun.ordinal());
//values() 获取当前枚举类型的所有实例
WeekDays[] arr = sun.values();
System.out.println(Arrays.toString(arr));
sun = WeekDays.MON;
//switch()中jdk5新增对枚举的支持
switch (sun){
case MON:
System.out.println("星期一");
break;
case TUES:
System.out.println("星期二");
break;
case SUN:
System.out.println("星期天");
break;
}
}
}
//一周的中的天数 周1~周7
enum WeekDays{
//枚举字段|当前枚举类型的实例
MON,TUES,SUN("星期天");
// public static final WeekDay MON = new WeekDay();
//成员变量
private String name;
//构造器
private WeekDays(){}
private WeekDays(String name){
this.name = name;
}
//成员方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
File: 路径或者文件的抽象的表现形式
注意: java中路径的分隔符可以使用: \ / //
public class Class001_File {
public static void main(String[] args) throws IOException {
//File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File file1 = new File("D:\\test.txt");
File file2 = new File("D:\\AAA");
File file3 = new File("D:/");
//File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
File file4 = new File(file3,"test.txt");
File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
File file5 = new File("D://AAA","BBB");
File file6 = new File("D://haha.txt");
//常用方法
//boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
//boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
//boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便仅允许读取操作。
if(file1.exists()){
System.out.println("只读状态设置: "+file1.setReadOnly());
System.out.println("判断文件file1是否可以编写 "+file1.canWrite());
}
//boolean createNewFile() 当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。
if(!file6.exists()){
System.out.println(file6.createNewFile());
}
//boolean delete() 删除此抽象路径名表示的文件或目录。 空文件夹才可以删除
System.out.println(file6.delete());
System.out.println(file2.delete());
//File getAbsoluteFile() 返回此抽象路径名的绝对形式。
//String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getAbsoluteFile());
//默认相对于当前项目下
File file = new File("test.txt");
System.out.println(file);
System.out.println(file.getAbsolutePath()); //D:\source_s\lesson\java49\0206_常用类\002_code\project_class\test.txt
System.out.println(file.getAbsoluteFile()); //D:\source_s\lesson\java49\0206_常用类\002_code\project_class\test.txt
//long getFreeSpace() 通过此抽象路径名返回分区 named中未分配的字节数。
System.out.println(file3.getFreeSpace());
//long getTotalSpace() 通过此抽象路径名返回分区 named的大小。
//String getName() 返回此抽象路径名表示的文件或目录的名称。
System.out.println(file1.getName());
System.out.println(file5.getName());
//String getParent() 返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。
//File getParentFile() 返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回 null 。
System.out.println(file1.getParent());
System.out.println(file1.getParentFile());
System.out.println(file5.getParent());
System.out.println(file5.getParentFile());
/*
boolean isAbsolute() 测试此抽象路径名是否为绝对路径。
boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。
boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。
*/
System.out.println(file1.isFile());
System.out.println(file1.isDirectory());
System.out.println(file1.isAbsolute());
//long lastModified() 返回上次修改此抽象路径名表示的文件的时间。
System.out.println(file1.lastModified());
System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(file1.lastModified())));
//long length() 返回此抽象路径名表示的文件的长度。
System.out.println(file1.length());
//String[] list() 返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。
//File[] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
File src = new File("D://DDD");
System.out.println(Arrays.toString(src.list()));
File[] files = src.listFiles();
for(File f:files){
System.out.println(f);
}
File file8 = new File("D://haha");
File file9 = new File("D://hehe/heihei/hengheng.txt");
//boole9n mkdir() 创建此抽象路径名指定的目录。 一层
System.out.println(file8.mkdir());
//boolean mkdirs() 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。 多层
System.out.println(file9.getParentFile().mkdirs());
//boolean renameTo(File dest) 重命名此抽象路径名表示的文件。
//测试 : 跨盘符是否可以实现重命名???
File file10 = new File("D://test2.txt");
System.out.println(file1.renameTo(file10));
}
}