Java中对的创建与引用
对象与引用
- Java语言中除了基本数据类型以外都属于引用类型
- Java中的对象是通过引用对其操作的
class Car{
String name;
String color;
int price;
}
Car bm = new Car();
- 右边的“new Car()”,是以Car类为模板,在堆空间里创建一个Car类对象
- 左边的“Car bm”创建了一个Car类型引用变量。所谓Car类的引用,就是以后可以用来指向Car对象的对象引用
- "="操作符使对象引用指向刚创建的那个Car对象(即把对象存储的地址赋值给了bm)
我们可以把这句拆开两部分理解
Car bm;
bm = new Car;
这样写,就比较清楚了,有两个实体;一个是对象引用变量,一个是对象本身
-
参数传递:
两种:值传递与引用传递
-
值传递:(参数类型是基本数据类型)方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。
-
引用传递:(参数类型是引用数据类型参数)也称为传递址。方法调用是,实际参数是对象,这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。
注:基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身 。但是无论是值传递还是引用传递,其本质都是传值,所以也都统称值传递
this关键字
由于存在方法中参数的名字与类中名字重复的问题,我们该如何区分呢?
java中的this关键字就可以解决这种问题
this
关键字代表前对象- 使用
this
关键字引用成员变量
- 使用
this
关键字引用成员方法
或构造方法
有了this
关键字我们就可以来区分成员变量
和局部变量
注:一个方法中没有跟他同名的局部变量,可以不加this关键字
this表示当前对象,即表示当前调用此方法的对象
本文来自博客园,作者:Yang0710,转载请注明原文链接:https://www.cnblogs.com/cwyYYDS/p/18213925