JAVASE(七)面向对象:封装性(特性之一)、构造器、属性、关键字
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一、封装性
1、为什么要使用封装性?
创建对象以后,可以通过对象.属性名的方法进行赋值。只能限制数据的类型,和数值的范围。但是往往我们需要更多的其它条件的限制。在属性的声明处无法限制。所以我们采用如下的方式。
- 使用权限修饰符对属性进行修饰,在其它的类中就无法直接对属性进行调用和赋值。
- 提供公共的方法,通过方法给属性进行赋值,或者通过方法获取值。在方法的内部我们可以对属性的赋值的进行条件的限制。
2、封装性思想具体的代码体现:
二、类的成员之构造器
作用:①创建对象 ②用来给对象进行初始化
格式:
权限修饰符 类名(形参列表){
方法体;
}
说明:
①如果一个类中没有显示的定义构造器,那么在创建对象的时候会默认的创建一个空参的构造器
②一个类中可以定义多个构造器,多个构造器之间构成重载
③一个类中如果显示的定义了构造器,那么系统就不会再创建空参的构造器了
④通过构造器赋值,只能赋值一次,所以还是需要set方法的。
三、属性的赋值顺序
赋值方式 :
1.默认值 2.显示赋值 3.构造器赋值 4.对象名.方法名/对象名.属性名
赋值顺序 :1 -> 2 -> 3 -> 4
四、关键字: this
this关键字表示:当前的对象
this可以用来调用 :属性,方法,构造器
this调用属性和方法:
在方法和构造器中调用属性和方法,往往我们会省略掉"this."。如果构造器和方法中,局部变量名和属性名相同。那么我们必须使用"this."来区分局部变量和属性。
this调用构造器 :
格式 :this(形参列表)
- this(形参列表) 只能放在构造器的首行
- 一个构造器中只能有一个this(形参列表)
- 如果N个构造器那么最多只能有N-1个 this(形参列表)
- 构造器中不能自己调用自己的构造器
五、关键字:import和package
package作用 : java为了将类进行统一的管理和划分,提供了包的概念。
说明 :
1.包名遵守标识符的规则和规范。xxxyyyzzz
2.每“.”一次代表一层目录
3.不同的包下面的类的类名可以相同
4.组织机构的类型(com.edu) + 组织机构的名称 + 项目名 + 模块名
例 : com.atguigu.chat.login
5.包名可以告诉编译器字节码所需要存放的目录。
6.package只能在源文件的首行
关键字 :import
- 在源文件中使用import显式的导入指定包下的类或接口
- 声明在包的声明和类的声明之间。(声明的位置)
- 如果需要导入多个类或接口,那么就并列显式多个import语句即可
- 举例:可以使用java.util.*的方式,一次性导入util包下所的类或接口。
- 如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import语句。
- 如果在代码中使用不同包下的同名的类。那么就需要使用类的全类名的方式指明调用的是哪个类。
- import static组合的使用:调用指定类或接口下的静态的属性或方法 (了解)
- 如果已经导入java.a包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。