面向对象编程
关键字:this
1) What is this?this
关键字是用在类
中的,它本质上是对象,表示的是当前对象或者当前正在构造的对象。
使用this
的方式就是按照使用对象
的方式即可。
this.属性或方法
:表示当前对象的属性或方法;this(参数):表示当前对象对应的构造器
。
使用this
,总的来说就是必须指明当前对象的场景下,比如:
- 在方法中,如果
类
的属性名与参数名相同,而该方法中的操作同时包含同名的属性和参数,如name = name
,本来第一个指的是属性,第二个指的是参数,但系统无法区分开来,因此此时需要指明该参数赋值给当前对象的属性,因此this.name = name
。
this
调用构造器:
- 指在构造器中又利用
this
调用其他构造器,以实现代码重用性,即减少冗余代码。 - 规定
this
调用其他构造器必须声明在当前构造器的首行,即每个构造器调用其他构造器时,只能调用一个。
2) 综合练习
关键字:package
1) What is package?package
关键字用于声明类或接口所属的包
。
- 声明格式为
package 包名
。 - 规定该声明必须作为该源文件的代码首行。
包名
属于标识符,遵循标识符的命名规则和规范(包名都是小写)。- 一般
包名
的格式为xxx.yyy.zzz
,这里.
表示一层文件目录,因此xxx.yyy.zzz
表示当前类
在xxx
下的yyy
下的zzz
下。
- 一般
包
的概念的引入是为了更好地实现项目中对类
的管理。
- 同一个
包
下,不能命名同名的接口
和类
。换句话说,类
和接口
是以包名+类名或接口名
来区分的。
JDK中主要的包
2) MVC设计模式
用包
管理各种类
时,主要遵循的就是这个MVC
设计模式,也就是说,根据MVC
设计模式来设置哪些类属于哪个包。
关键字:import
本质上,使用每个类都需要以所谓全类名
的方式来使用,import
的作用就是使得在使用非本包下的其他类或接口时,能够直接通过其类名来使用,而不用全类名
来使用。
import
关键字用于导入指定包下的具有使用权限的类或接口,存在两种情况,分别对应两种格式:
- 导入指定包下的一个类或接口,其格式为
import 包名.类名
- 导入指定包下的多个类或接口,其格式为
import 包名.*
import
使用的说明:
- 使用
import
声明导入的类或接口时,声明在当前源文件的声明包的下面。 - 如果使用的类或接口是
java.lang
包下定义的,表示是核心类或接口,可以省略导入声明。 - 使用本包下的类或接口,无需导入即可直接使用。
如果使用不同包下的同名的类,则只能有效导入一个,剩下的同名的类的使用必须用
全类名
。全类名
:即带着包名的类名,或者说包的路径在内的类的名。
- 注意
xxx.*
其中的*
表示的是类或接口,并不代表xxx
下所有内容。因此如果使用xxx
下的子包下的类或接口,仍然需要导入声明。 import static
结构用来导入指定包下的指定类中的静态结构,即静态属性或方法,因此其格式为import static.包名.类名.*
或import static.包名.类名.静态结构名
,此时的*
表示的是静态结构。