面向对象之this 和static
关于参数的传递
程序在执行的过程中,参数传递的问题:
1.传递的数据是基本数据类型
基本数据类型传递的值(注意考虑作用域范围)
2.传递的数据是引用数据类型
引用传递的是地址(堆区中的一块内存地址)
看一下两个例子 1.传递的数据是基本数据类型
2.传递的数据是引用数据类型
关于this关键字
什么是this关键字?
this是一个引用类型
在堆区中每一个java对象上都有this
this关键字用在哪些地方?
a)this可以用在成员方法中
this用在成员方法中,谁调用this就指向谁,this值得是当前对象
.this可以省略
b)this可以用来区分成员变量和局部变量
c)this能用在构造器中
语法this(实参);
通过一个构造函数去调用另一个构造函数
目的:代码重用
this(实参);必须出现在方法第一行
this不能出现在
静态方法里
静态方法的执行根本就没有对象的存在,直接使用类名.的方式访问
而this代表的是当前的对象,所以静态方法根本就没有this
如果this();不在第一行,嘿嘿~~~
关于static关键字
static修饰的变量->静态变量
static修饰的方法->静态方法
satic还可以定义静态语句块
static 定义的静态语句块在类加载阶段执行,并且只执行一次
实力语句块
每一次调用函数构造方法之前会执行一次
执行顺序是从上到下