安装JDK
安装集成开发环境:IDEA
Idea分旗舰版与社区版,社区版免费,但不支持Web开发。
创建一个Maven工程
Maven是Java项目管理工具。
推荐使用Idea内置的Maven,当然你也可以自己下载安装一个独立的Maven。
Maven的项目目录结构,是固定的:名字固定,位置固定。理念:约定大于配置。
Static
它可修饰类的方法或和变量(字段),让它们属于类,于是可以通过类直接访问它们,而不需要创建实例。
Static改变了被修饰目标的生命期。
类中静态字段只存在一个,而非静态字段,一个实例(对象)保存一份。于是,在实例未创建时,无法通过类去访问实例中的字段。
public
可修饰类、字段、方法等,定义它们的被访问范围,public表示修饰目标可被任何地方的代码访问。
构造方法
对实例的状态进行初始化,即准备好数据(变量赋初值),后面做任何动作(执行方法)时才能保证逻辑正确。
反射:加载类
- Java提供了一套叫做反射的API,可以动态的使用Java类,而不必将Java类编译进工程中,这样可以非常灵活的降低代码耦合性,提高架构设计能力。
- 反射API可以动态的加载类、创建实例、获取字段值、获取方法、调用方法等。
- sort模块:提供排序服务,利用反射加载用户提供的class文件。
- client模块:包含用户提供的类,必须编译出class文件。
反射:加载Jar中的类
编译jar:将jar文件全路径名转为URL,利用URLClassLoader加载类,剩余的做法如前。
控制反转
- 问题:以反射的方式创建实例,如果需要构造参数怎么办?我如何知道怎么为你创建符合参数要求的实例?