logo资料库

Java基础最全知识点总结.docx

第1页 / 共217页
第2页 / 共217页
第3页 / 共217页
第4页 / 共217页
第5页 / 共217页
第6页 / 共217页
第7页 / 共217页
第8页 / 共217页
资料共217页,剩余部分请下载后查看
1.Java简介
1.1简史
2.Java开发环境
2.1Java编译运行环境
2.2JDK、JRE、JVM关系
2.3JDK安装及环境变量配置
2.4控制台版的JAVA HelloWorld演示
3Eclipse
3.1简介
3.2使用Eclipse开发Java应用程序
4变量
4.1什么是变量
4.2变量的声明
4.3变量的命名
4.4变量的初始化
4.5变量的访问
5Java数据类型
5.1分类
5.2基本数据类型
5.2.1int类型
5.2.2long类型
5.2.3double类型
5.2.4char类型
5.2.5 boolean类型
5.3基本类型间转换
5.3.1类型间转换
5.3.2强制转换时的精度丧失和溢出
5.3.3数值运算时的自动转换
5.3.4byte、char、short转换为int
6.运算符
6.1赋值
6.2一元运算符
6.3算术运算
6.4移位运算符
6.5关系(比较)运算符
6.6逻辑运算
6.7位运算
6.8三目运算
6.9优先级
7分支和循环结构
7.1分支结构
7.1.1什么是分支结构
7.1.2if语句
7.1.2.1if语句的执行逻辑
7.1.2.2if语句流程图
7.1.2.3if语句用于处理分支逻辑
7.1.2.4if语句块不要省略“{}”
7.1.3if-else语句
7.1.3.1if-else语句的执行逻辑
7.1.3.2if-else语句流程图
7.1.3.3if-else语句用于处理分支逻辑
7.1.4else if语句
7.1.4.1if-else语句的嵌套
7.1.4.2else if语句执行逻辑
7.1.5switch-case语句
7.1.5.1switch-case语句执行逻辑
7.1.5.2switch-case和break联合使用
7.1.5.3switch-case语句用于分支
7.1.5.4switch-case的优势
7.2循环结构(while、do…while、for)
7.2.1什么是循环结构
7.2.2while语句
7.2.2.1while语句的执行逻辑
7.2.2.2while语句的流程图
7.2.2.3while语句用于处理循环逻辑
7.2.2.4使用break语句跳出循环
7.2.3do-while语句
7.2.3.1do-while语句的执行逻辑
7.2.3.2do-while语句的流程图
7.2.3.3do-while语句用于处理循环逻辑
7.2.3.4while和do-while语句的区别
7.2.4for语句
7.2.4.1考虑如下循环问题的相同之处
7.2.4.2for语句的执行逻辑
7.2.4.3for语句的流程图
7.2.4.4for语句用于实现固定次数循环
7.2.4.5for语句三个表达式特殊用法
7.2.4.6循环中使用break语句
7.2.4.7循环中使用continue语句
7.3循环问题
7.3.1循环问题
7.3.2循环问题定义------“当”循环
7.3.3循环问题定义------“直到”循环
7.3.4循环问题定义------固定次数循环
7.3.5逐步细化方式解决循环嵌套的问题
8数组
8.1什么是数组
8.2数组的定义
8.3数组的初始化
8.4数组的访问
8.4.1获取数组的长度
8.4.2通过下标访问数组元素
8.4.3遍历数组元素
8.5数组的复制
8.5.1System.arraycopy方法用于数组复制
8.5.2Arrays.copyOf方法用于数组复制
8.5.3数组的“扩容”
8.6数组排序
8.6.1数组的排序
8.6.2数组冒泡排序算法
8.6.3Arrays.sort方法用于数组排序
8.7二维数组
8.7.1二维数组内存结构
8.7.2定义:
8.7.3访问
9方法
9.1方法(函数、过程)
9.1.1定义方法(函数、过程)的功能
9.1.2定义参数和返回值
9.2方法的调用
9.2.1return语句
9.2.2调用方法时的参数传递
10对象和类
10.1面向对象程序设计
10.1.1面向过程的结构化程序设计
10.1.2什么是抽象数据类型
10.1.3什么是类
10.2定义一个类
10.2.1定义类的成员变量
10.2.2定义类的方法
10.3创建并使用对象
10.3.1使用new关键字创建对象
10.3.2引用类型变量
10.3.3访问对象的成员变量、调用方法
10.3.4引用类型变量的赋值
10.3.5null和NullPointerException
10.4方法的重载
10.4.1方法的签名
10.4.2方法重载及其意义
10.4.3编译时根据签名绑定调用方法
10.5构造方法
10.5.1构造方法语法结构
10.5.2通过构造方法初始化成员变量
10.5.3this关键字的使用
10.5.4默认的构造方法
10.5.5构造方法的重载
11数组对象
11.1引用类型数组
11.1.1数组是对象
11.1.2引用类型数组的声明
11.1.3引用类型数组的初始化
11.1.4数组的类型是基本类型数组
12对象内存管理
12.1对象内存管理
12.1.1对象内存管理
12.2堆内存
12.2.1对象存储在堆中
12.2.2成员变量的生命周期
12.2.3垃圾回收机制
12.2.4Java程序的内存泄露问题
12.2.5System.gc()方法
12.3非堆----栈
12.3.1栈用于存放方法中的局部变量
12.3.2局部变量的生命周期
12.3.3成员变量和局部变量
12.4非堆----方法区
12.4.1方法区用于存放类的信息
12.4.2方法只有一份
13继承
13.1继承
13.1.1泛化的过程
13.1.2extends关键字
13.1.3继承中构造方法
13.1.4父类的引用指向子类的对象
13.2重写
13.2.1方法的重写
13.2.2重写中使用super关键字
13.2.3重写和重载的区别
14访问控制
14.1包的概念
14.1.1package语句
14.1.2import语句
14.2访问控制修饰符
14.2.1封装的意义
14.2.2public和private
14.2.3protected和默认访问控制
14.2.4访问控制符修饰类
14.2.5访问控制符修饰成员
15static和final
15.1static关键字
15.1.1static修饰成员变量
15.1.2static修饰方法
15.1.3static块
15.2final关键字
15.2.1final修饰变量
15.2.2final修饰方法
15.2.3final修饰类
15.2.4static final常量
16Java静态代码块、构造代码块(非静态代码块)、构造方法
16.1执行顺序
16.2小结 
17抽象类、接口和内部类
17.1使用抽象类
17.1.1抽象方法和抽象类
17.1.2抽象类不可以实例化
17.1.3继承抽象类
17.1.4抽象类的意义
17.2使用接口
17.2.1定义一个接口
17.2.2实现接口
17.2.3接口的继承
17.3使用接口
17.3.1接口和抽象类的区别
17.4多态
17.4.1多态的意义
17.4.2向上造型
17.4.3强制转型
17.4.4instanceof关键字
17.5内部类
17.5.1定义成员内部类
17.5.2创建内部类对象
17.5.3定义匿名内部类
17.6面向对象汇总
18常用类
18.1什么是常用类
18.2String类
18.2.1String类的特点
18.2.2String类的常用方法
18.2.2.1String类的构造方法
18.2.2.2String类的常用方法
18.3StringBuffer和StringBuilder类
18.3.1StringBuffer类的特点
18.3.2StringBuilder类的特点
18.3.3StringBuffer类的常用方法
18.3.3.1StringBuffer类的构造方法
18.3.3.2StringBuffer类的常用方法
18.3.3.3String、StringBuffer、StringBuilder的比较
18.4日期和时间处理类
18.4.1System的currentTimemillis()方法
18.4.2java.util.Date类
18.4.2.1Date类的构造方法
18.4.2.2Date类的常用方法
18.4.3SimpleDateFormat(日期对象格式化类)
18.4.3.1SimpleDateFormat类的构造方法
18.4.3.2SimpleDateFormat类的常用方法
18.4.4Calendar类(日历类)
18.4.4.1获取Calendar实例的方法
18.4.4.2SimpleDateFormat类的常用方法
18.5Math类
18.5.1Math类的特点
18.5.2Math类的常用方法
18.6Random类
18.6.1Random类的构造方法
18.6.2Random类的常用方法
18.7BigDecimal类
18.7.1BigDecimal类的构造方法
18.7.2Random类的常用方法
18.8包装类
19集合
19.1什么是集合
19.2Java集合的的分类
19.3Collection体系
19.3.1Collection接口
19.3.2List集合
19.3.2.1ArrayList类
19.3.2.2LinkedList类
19.3.2.3Vector类
19.3.3Set集合
19.3.3.1HashSet类
19.3.3.2LinkedHashSet类
19.4Map体系
19.4.1Map接口
19.4.2Map集合
19.4.2.1HashMap类
19.4.2.2LinkedHashMap类
19.4.2.3Hashtable类
19.4.2.4Properties类
19.5Collections工具类
19.5.1Collections的常用方法
20异常
20.1什么是异常
20.2异常的分类
20.2.1异常的分类
20.2.2异常类的层次结构
20.3常见异常
20.3.1运行时异常
20.3.2编译时异常
20.4异常的处理
20.4.1异常的处理方式
20.4.2捕获异常
20.4.3声明抛出异常
20.4.4人工抛出异常
20.4.5自定义异常类
20.4.6异常处理的5个关键字
21IO流
21.1File类
21.1.1File类的构造
21.1.2File类的常用方法
21.1.3File类的示例代码
21.2IO流
21.2.1IO流的分类
21.2.1.1InputStream
21.2.1.2OutputStream
21.2.1.3Reader
21.2.1.4Writer
21.2.1.5缓冲流
21.2.1.6流的关闭
21.2.1.7IO流的示例代码
22JDBC
22.1JDBC概述
22.2创建JDBC应用程序的步骤
22.3加载数据库驱动程序
22.4获得与数据库的连接
22.5Statement
22.6结果处理
22.7Java数据类型和JDBC类型的映射关系
22.8JDBC的事务管理
22.9JDBC批处理
23多线程
23.1程序、进程、线程
23.2Java的多线程实现
23.3创建线程类
23.4线程的执行权
23.5线程的生命周期
23.6线程的同步
23.7线程的通信
24网络编程
24.1网络通讯要素
24.2Socket(套接字)
24.3客户端开发
24.4服务端开发
《Java SE 高级程序设计》技术手册
《Java SE 高级程序设计》技术手册 目录 1 2 3 5 .Java 简介 ................................................................................................................................... 8 1.1 简史 ............................................................................................................................ 8 .Java 开发环境 ......................................................................................................................... 16 2.1 Java 编译运行环境 .................................................................................................. 16 JDK、JRE、JVM 关系 ...............................................................................................17 2.2 JDK 安装及环境变量配置.......................................................................................17 2.3 2.4 控制台版的 JAVA HelloWorld 演示 .........................................................................18 Eclipse....................................................................................................................................... 19 简介 .......................................................................................................................... 19 3.1 3.2 使用 Eclipse 开发 Java 应用程序 ............................................................................19 4 变量 .......................................................................................................................................... 21 什么是变量..............................................................................................................21 4.1 变量的声明..............................................................................................................21 4.2 变量的命名..............................................................................................................22 4.3 变量的初始化 ..........................................................................................................23 4.4 4.5 变量的访问..............................................................................................................24 Java 数据类型 .......................................................................................................................... 25 分类 .......................................................................................................................... 25 5.1 基本数据类型 ..........................................................................................................25 5.2 int 类型 .............................................................................................................26 long 类型 ..........................................................................................................28 double 类型 ......................................................................................................29 char 类型 ..........................................................................................................30 boolean 类型 ....................................................................................................32 基本类型间转换......................................................................................................32 5.3.1 类型间转换......................................................................................................32 5.3.2 强制转换时的精度丧失和溢出......................................................................33 5.3.3 数值运算时的自动转换 ..................................................................................33 5.3.4 byte、char、short 转换为 int.........................................................................34 .运算符..................................................................................................................................... 35 赋值 .......................................................................................................................... 35 6.1 一元运算符..............................................................................................................35 6.2 6.3 算术运算 .................................................................................................................. 36 移位运算符..............................................................................................................37 6.4 关系(比较)运算符................................................................................................2 6.5 逻辑运算 .................................................................................................................... 3 6.6 6.7 位运算........................................................................................................................ 4 三目运算 .................................................................................................................... 5 6.8 6.9 优先级........................................................................................................................ 7 7 分支和循环结构........................................................................................................................ 8 分支结构 .................................................................................................................... 8 7.1.1 什么是分支结构................................................................................................8 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.3 7.1 6
7.2 7.3 8.1 8.2 8.3 8.4 7.1.2 7.1.3 7.1.4 7.1.5 if 语句 .................................................................................................................9 if-else 语句....................................................................................................... 13 else if 语句....................................................................................................... 16 switch-case 语句 .............................................................................................. 18 循环结构(while、do…while、for).......................................................................... 21 7.2.1 什么是循环结构..............................................................................................21 7.2.2 while 语句 ........................................................................................................ 22 do-while 语句 ...................................................................................................24 7.2.3 for 语句 ............................................................................................................ 26 7.2.4 循环问题 .................................................................................................................. 32 7.3.1 循环问题 ..........................................................................................................32 7.3.2 循环问题定义------“当”循环 ...................................................................... 32 7.3.3 循环问题定义------“直到”循环 .................................................................. 33 7.3.4 循环问题定义------固定次数循环 .................................................................. 33 7.3.5 逐步细化方式解决循环嵌套的问题..............................................................33 8 数组 .......................................................................................................................................... 35 什么是数组..............................................................................................................35 数组的定义..............................................................................................................36 数组的初始化 ..........................................................................................................36 数组的访问..............................................................................................................37 8.4.1 获取数组的长度..............................................................................................37 8.4.2 通过下标访问数组元素 ..................................................................................37 8.4.3 遍历数组元素 ..................................................................................................38 数组的复制..............................................................................................................39 System.arraycopy 方法用于数组复制 ............................................................ 39 8.5.1 Arrays.copyOf 方法用于数组复制 ..................................................................40 8.5.2 8.5.3 数组的“扩容”..............................................................................................40 数组排序 .................................................................................................................. 41 8.6.1 数组的排序......................................................................................................41 8.6.2 数组冒泡排序算法 ..........................................................................................41 Arrays.sort 方法用于数组排序 .......................................................................43 8.6.3 二维数组 .................................................................................................................. 44 8.7.1 二维数组内存结构 ..........................................................................................44 8.7.2 定义:..............................................................................................................44 8.7.3 访问 .................................................................................................................. 45 9 方法 .......................................................................................................................................... 47 方法(函数、过程)..............................................................................................47 9.1.1 定义方法(函数、过程)的功能 ..................................................................47 9.1.2 定义参数和返回值 ..........................................................................................47 方法的调用..............................................................................................................48 9.2.1 return 语句 .......................................................................................................48 9.2.2 调用方法时的参数传递 ..................................................................................49 对象和类 .......................................................................................................................... 50 面向对象程序设计 ..................................................................................................51 9.1 9.2 10.1 8.5 8.6 8.7 10 2 / 217
10.1.1 面向过程的结构化程序设计 ..........................................................................51 10.1.2 什么是抽象数据类型......................................................................................52 10.1.3 什么是类 ..........................................................................................................52 定义一个类..............................................................................................................55 10.2.1 定义类的成员变量 ..........................................................................................55 10.2.2 定义类的方法 ..................................................................................................55 创建并使用对象......................................................................................................57 10.3.1 使用 new 关键字创建对象.............................................................................57 10.3.2 引用类型变量 ..................................................................................................57 10.3.3 访问对象的成员变量、调用方法 ..................................................................58 10.3.4 引用类型变量的赋值......................................................................................58 null 和 NullPointerException............................................................................59 10.3.5 方法的重载..............................................................................................................60 10.4.1 方法的签名......................................................................................................60 10.4.2 方法重载及其意义 ..........................................................................................60 10.4.3 编译时根据签名绑定调用方法......................................................................62 构造方法 .................................................................................................................. 62 10.5.1 构造方法语法结构 ..........................................................................................62 10.5.2 通过构造方法初始化成员变量......................................................................63 10.5.3 this 关键字的使用 ...........................................................................................63 10.5.4 默认的构造方法..............................................................................................64 10.5.5 构造方法的重载..............................................................................................65 数组对象 .......................................................................................................................... 66 引用类型数组 ..........................................................................................................66 11.1.1 数组是对象......................................................................................................66 11.1.2 引用类型数组的声明......................................................................................67 11.1.3 引用类型数组的初始化 ..................................................................................68 11.1.4 数组的类型是基本类型数组 ..........................................................................69 对象内存管理 .................................................................................................................. 70 对象内存管理 ..........................................................................................................70 12.1.1 对象内存管理 ..................................................................................................70 堆内存...................................................................................................................... 71 12.2.1 对象存储在堆中..............................................................................................71 12.2.2 成员变量的生命周期......................................................................................71 12.2.3 垃圾回收机制 ..................................................................................................72 12.2.4 Java 程序的内存泄露问题..............................................................................72 System.gc()方法 ..........................................................................................72 12.2.5 非堆----栈................................................................................................................. 72 12.3.1 栈用于存放方法中的局部变量......................................................................72 12.3.2 局部变量的生命周期......................................................................................73 12.3.3 成员变量和局部变量......................................................................................73 非堆----方法区......................................................................................................... 74 12.4.1 方法区用于存放类的信息..............................................................................74 12.4.2 方法只有一份 ..................................................................................................74 10.2 10.3 10.4 10.5 11 11.1 12 12.1 12.2 12.3 12.4 3 / 217
13 13.1 14 13.2 14.1 14.2 15 15.1 14.1.1 14.1.2 继承 .................................................................................................................................. 75 继承 .......................................................................................................................... 75 13.1.1 泛化的过程......................................................................................................75 13.1.2 extends 关键字................................................................................................ 75 13.1.3 继承中构造方法..............................................................................................77 13.1.4 父类的引用指向子类的对象 ..........................................................................78 重写 .......................................................................................................................... 80 13.2.1 方法的重写......................................................................................................80 13.2.2 重写中使用 super 关键字 ...............................................................................81 13.2.3 重写和重载的区别 ..........................................................................................82 访问控制 .......................................................................................................................... 84 包的概念 .................................................................................................................. 84 package 语句 ....................................................................................................84 import 语句 ......................................................................................................85 访问控制修饰符......................................................................................................86 14.2.1 封装的意义......................................................................................................86 14.2.2 public 和 private...............................................................................................87 14.2.3 protected 和默认访问控制.............................................................................88 14.2.4 访问控制符修饰类 ..........................................................................................88 14.2.5 访问控制符修饰成员......................................................................................88 static 和 final.................................................................................................................... 89 static 关 键字 .......................................................................................................... 89 static 修饰成员变量 ........................................................................................ 89 static 修饰方法 ................................................................................................ 90 static 块............................................................................................................ 91 final 关键字 ..............................................................................................................92 15.2.1 final 修饰变量 ..................................................................................................92 15.2.2 final 修饰方法 ..................................................................................................92 15.2.3 final 修饰类 ......................................................................................................93 15.2.4 static final 常量 ................................................................................................ 94 Java 静态代码块、构造代码块(非静态代码块)、构造方法....................................... 94 执行顺序 .................................................................................................................. 94 15.1.1 15.1.2 15.1.3 15.2 16.1 16 17 16.2 小结 .......................................................................................................................... 96 17.1 17.2 抽象类、接口和内部类 ..................................................................................................97 使用抽象类..............................................................................................................97 17.1.1 抽象方法和抽象类 ..........................................................................................97 17.1.2 抽象类不可以实例化......................................................................................97 17.1.3 继承抽象类......................................................................................................98 17.1.4 抽象类的意义 ..................................................................................................99 使用接口 .................................................................................................................. 99 17.2.1 定义一个接口 ..................................................................................................99 17.2.2 实现接口 ........................................................................................................100 17.2.3 接口的继承....................................................................................................100 4 / 217
17.3 17.4 17.5 17.6 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 19.1 19.2 19.3 19.4 18 19 18.2.1 18.2.2 18.3.1 18.3.2 18.3.3 使用接口 ................................................................................................................101 17.3.1 接口和抽象类的区别....................................................................................101 多态 ........................................................................................................................ 102 17.4.1 多态的意义....................................................................................................102 17.4.2 向上造型 ........................................................................................................102 17.4.3 强制转型 ........................................................................................................103 17.4.4 instanceof 关键字 ..........................................................................................104 内部类.................................................................................................................... 105 17.5.1 定义成员内部类............................................................................................105 17.5.2 创建内部类对象............................................................................................105 17.5.3 定义匿名内部类............................................................................................106 面向对象汇总 ........................................................................................................107 常用类............................................................................................................................ 109 什么是常用类 ........................................................................................................109 String 类..................................................................................................................109 String 类的特点 ............................................................................................. 109 String 类的常用方法 ..................................................................................... 109 StringBuffer 和 StringBuilder 类............................................................................ 113 StringBuffer 类的特点 ................................................................................... 113 StringBuilder 类的特点 ..................................................................................113 StringBuffer 类的常用方法 ........................................................................... 113 日期和时间处理类 ................................................................................................115 System 的 currentTimemillis()方法 ............................................................... 115 java.util.Date 类............................................................................................. 115 SimpleDateFormat(日期对象格式化类) ................................................. 116 Calendar 类(日历类) ................................................................................ 117 Math 类.................................................................................................................. 118 18.5.1 Math 类的特点 .............................................................................................. 118 18.5.2 Math 类的常用方法 ......................................................................................118 Random 类............................................................................................................. 120 Random 类的构造方法 ................................................................................. 120 Random 类的常用方法 ................................................................................. 120 BigDecimal 类.........................................................................................................120 BigDecimal 类的构造方法.............................................................................120 Random 类的常用方法 ................................................................................. 121 包装类.................................................................................................................... 121 集合 ................................................................................................................................ 123 什么是集合............................................................................................................123 Java 集合的的分类 ................................................................................................ 123 Collection 体系.......................................................................................................123 Collection 接口...............................................................................................123 List 集合 ..........................................................................................................124 Set 集合 ..........................................................................................................142 Map 体系 ................................................................................................................145 18.4.1 18.4.2 18.4.3 18.4.4 19.3.1 19.3.2 19.3.3 18.6.1 18.6.2 18.7.1 18.7.2 5 / 217
19.4.1 Map 接口 ........................................................................................................145 19.4.2 Map 集合 ........................................................................................................146 Collections 工具类................................................................................................. 147 Collections 的常用方法.................................................................................148 19.5.1 异常 ................................................................................................................................ 150 什么是异常............................................................................................................150 异常的分类............................................................................................................150 20.2.1 异常的分类....................................................................................................150 20.2.2 异常类的层次结构 ........................................................................................151 常见异常 ................................................................................................................151 20.3.1 运行时异常....................................................................................................151 20.3.2 编译时异常....................................................................................................152 异常的处理............................................................................................................152 20.4.1 异常的处理方式............................................................................................152 20.4.2 捕获异常 ........................................................................................................152 20.4.3 声明抛出异常 ................................................................................................152 20.4.4 人工抛出异常 ................................................................................................153 20.4.5 自定义异常类 ................................................................................................153 20.4.6 异常处理的 5 个关键字 ................................................................................153 IO 流................................................................................................................................155 File 类 ..................................................................................................................... 155 File 类的构造 ................................................................................................. 155 File 类的常用方法 ......................................................................................... 155 File 类的示例代码 ......................................................................................... 156 IO 流....................................................................................................................... 158 IO 流的分类................................................................................................... 159 21.2.1 JDBC................................................................................................................................ 169 JDBC 概述 ...............................................................................................................169 创建 JDBC 应用程序的步骤..................................................................................169 加载数据库驱动程序............................................................................................170 获得与数据库的连接............................................................................................170 Statement............................................................................................................... 170 结果处理 ................................................................................................................171 Java 数据类型和 JDBC 类型的映射关系 ..............................................................172 JDBC 的事务管理 ...................................................................................................172 JDBC 批处理 ...........................................................................................................173 多线程............................................................................................................................ 174 程序、进程、线程 ................................................................................................174 Java 的多线程实现 ................................................................................................ 174 创建线程类............................................................................................................174 线程的执行权 ........................................................................................................175 线程的生命周期....................................................................................................175 线程的同步............................................................................................................176 线程的通信............................................................................................................176 21.1.1 21.1.2 21.1.3 20 19.5 20.1 20.2 20.3 20.4 21 21.1 22 23 21.2 22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 23.1 23.2 23.3 23.4 23.5 23.6 23.7 6 / 217
24 网络编程 ........................................................................................................................ 177 网络通讯要素 ........................................................................................................177 Socket(套接字) ................................................................................................. 178 客户端开发............................................................................................................178 服务端开发............................................................................................................179 24.1 24.2 24.3 24.4 7 / 217
分享到:
收藏