目录
1.什么是对象
1.2面向对象与面向过程
如你要买个手机,你需要看手机,下单,拿快递,才能拿到手机,这就是过程,而如果你有个秘书,你说给我去买个手机,秘书就帮你把过程做完,你就能拿到手机,这就是面向对象
2. 类定义和使用
对象的产生依赖于类!!
举个例子,我们每个人都是不同的对象,张三,李四,王五,但我们又是相同的,都有两个手,两个眼睛,两条腿,所以我们被归为人类,类,一类东西,有相同点的东西,想要产生不同的对象(张三,李四,王五),就必须要先有类,女娲造人的时候也得有模板对吧,当我们对一个东西进行抽象一下,就产生了一个类(抽出他的特征,行为)
下面我们来定义一个洗衣机类
如图我们定义的洗衣机类中品牌,型号。。。。都属于洗衣机的属性,洗衣服,脱水。。。,都属于他的行为和功能,无论是什么样的洗衣机,他都有这样的功能
3. 类的实例化
我们一般用new来实例化一个对象,(如果你想要对象了就new一个)
每new一个对象就会开辟一块内存,通过new可以实例化多个对象
此时我们就new出了一个对象,此时内存中发生了如下变化
4.对象的使用
如图我们一般通过 . 运算符来访问使用对象
5.this引用
我们来看一组例子,如图
为什么我们没有设置成功呢?
我们来看内存
在setMachine方法中brand,type,weight只是栈内,自己给自己赋值,并没有影响到堆中对象的值,所以我们看到属性还是空的,这时候我们就需要this引用来解决问题
如图我们加上this后就能够达到我们的目的,虽然但是,为什么呢
this代表当前对象的引用,当我们使用this后,就相当于告诉计算机是这个引用的对象,帮助我们指向对象中的属性(brand,type,weight)图中this代表的是x,这样就避免了变量自己给自己赋值的情况
this引用的特性
1. this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型
2. this只能在"成员方法"中使用
3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象
ps:this可以访问当前对象的成员属性/成员变量,但静态的成员变量不支持,