## 1. Properties
请在当前模块的 **src**下创建 **config.properties** 文件中,并初始化内容为以下内容:
```properties
username=abc
password=123456
nickname=小白
url=http://www.example.com
```
* 任务
* 读取并打印username,password,nickname,url的值
* 将nickname的值改为admin
* 新增age属性,值为18
* 将变化的内容重新写会 **config.properties **中
```java
```
## 2. xml的编写
通常java代码生成的数据,可以存储到xml文件中,前提是需要对应好映射的细节。
比如: 有这样的一个学生对象,映射出对应的xml 文件如下:
```java
Student s = new Student("张三", 18 , "13810081009")
```
```xml
<?xml version="1.0" encoding="utf-8" ?>
<student>
<name>张三</name>
<age>18</age>
<phone>13810081009</phone>
</student>
```
现在请根据以下java代码,编写出对应的xml 内容, 要求标签名字需要见名知意,不允许随意定义!
```java
List<Item> items = new ArrayList<>();
// 商品名称,购买数量 , 商品单价金额
items.add(new Item("华为手机" , 2, 1999) );
items.add(new Item("金士顿U盘" , 3, 30.0) );
//构建一个订单对象,包含: 订单下单日期,收件人地址信息(收件人名称,收件人地址),购买的商品
Order order = new Order(
"2017-01-01",
new Receiver("张三胖", "北京海淀区五道口18号"),
items);
```
```java
```
## 3. xml的解析
请把第2题编写出来的xml解析出来,使用对象封装返回给main方法 打印出来,根据自己的想法,自行定义对应的java类。
* Receiver 类
```java
public class Receiver {
private String name;
private String address;
//...此处省略无参、有参、get和set 方法
}
```
* Item类
```java
public class Item {
private String name;
private int count;
private double price;
//...此处省略无参、有参、get和set 方法
}
```
* Order类
```java
public class Order {
private String date;
private Receiver receiver;
private List<Item> items;
//...此处省略无参、有参、get和set 方法
}
```
* 测试类
```java
```
## 4. 线程创建【继承写法】
> 请使用继承的方式创建出一条子线程,并且在线程内部循环打印5次:努力,奋斗!
```java
```
## 5. 线程创建【实现写法】
> 请使用继承的方式创建出一条子线程,并且在线程内部循环打印5次:努力,奋斗!
```java
```
## 6. 线程创建【匿名写法】
> 请把继承和实现的方式 换成使用 **匿名的方式**创建出来子线程,并且在线程内部循环打印5次:努力,奋斗!
```java
```
## 7. 线程返回值
> 请开启一个子线程,并且在子线程内部计算1+2...+10 的和,并且返回结果到主线程打印
```java
```