this、static、封装
-
This
this:是每个对象中,保存自身内存地址的一个引用类型变量
this就表示对象自己
方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。
this使用格式 :
用在成员方法/构造方法中 区同名分成员和局部变量
this.xxx = xxx;
用于重载调用当前类中其他的构造方法,提高代码重用性
this( 参数 );
必须在方法第一行
return this; 返回当前对象的内存地址, 可以做到链式调用
核心点 : 前者的返回值一定是可以调用后者的引用
- Static
Static是一个修饰符,主要用来区分静态和动态属性
static修饰的变量是静态变量
修饰的方法是静态方法
还可以修饰语句块
3. 封装
面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。
封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的
方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。
适当的封装可以让代码更容易理解和维护,也加强了代码的安全性
3.1软件包机制
3.1.1 Package
是设置编译之后的class文件的保存位置,和源文件位置无关
如果源文件中,没有出现package语句,则class文件和源文件在同目录
软件包机制 :
1 为了解决命名冲突问题,在类名前加入命名空间
2 package语句只能出现在java源文件的第一行,也可以没有
3 package一般采用公司域名倒叙的方式
com.tledu.oa.system
公司域名倒叙.项目名.模块名
4 带有package语句的java文件的编译
javac -d 生成路径 -encoding 字符编码 java文件
javac -d ./ -encoding utf-8 xxx.java
-d : disk 磁盘 ./ 表示当前目录
5 带有package语句的class文件的运行
java 包名.类名
java com.tledu.zrz.A
完整的类名 是带有包名的,
能够找到这个文件的全路径,才是这个文件的文件名
3.1.2 Improt
1引入当前类中需要的其他类,否则就需要些类全名,引入之后,可以直接写类名使用即可
2 必须出现在package语句之下,class语句之上
3 import 包名.类名; 只引入对应的某一个类
4 import 包名.*; 引入该包下所有的类
5 java.lang.* 下面的类 是核心类,使用不需要导包
3.1.3 权限控制
限制某个数据 可以 被谁使用
public , private , protected
public : 公共的,谁都能访问
private : 私有的,只有当前类可以访问
protected : 受保护的,继承权限,
1 在有继承关系的体系中,通过子类调用
2 同包,就算没有继承关系 也可以访问
默认 : 当不使用以上三种修饰符进行修饰的时候,则是默认权限,只能让当前包中的类使用