目录
一、面向对象
面向对象与面向过程都是解决问题的思想,面向过程注重的是完成这件事的过程,而面向对象则注重对象之间的交互,在完成某些事情时,需要和对象之间进行交互就可以完成。就好比洗衣服,面向对象的思想是把衣服放进洗衣机里,就可完成洗衣的操作。在Java里我们用类来抽象对象。
二、类与对象
1、类
首先他是一个自定义的类型,类名的命名必须使用大驼峰,一个类里面包含字段跟属性,也就是成员变量跟成员方法
2、实例化
由类产生对象的过程就叫实例化,通过new关键字由类名创建对象
这里student这是一个引用变量,存储的地址指向堆里对象的成员变量
3、访问
对象名.成员变量
对象名.成员方法
4、类和对象
一个类 可以实例化多个对象,对象占有物理内存,JVM对对象的回收是如果没有人引用这个对象时就会被回收
三、构造方法
在类的内部可以使用构造方法对成员变量进行初始化等操作,如果没有写构造方法系统会默认提供构造方法,如果写了系统就不会提供。
语法
1.构造方法的方法名与类名相同
2.构造方法没有返回值
3.可以带参也可以不带
4.由编译器调用,实例化一个对象就调用一次
5.构造方法也可以重载
6.可以提供多个构造方法,也可以在构造方法里调用构造方法,但是不能形成环
实例化一个对象时就会调用构造方法
四、this关键字
1、this.字段
这时如果调用setAge函数去给对象的age赋值是赋值不了的,因为在函数里面是局部变量优先,所以前面的age是形参的age,要想正确的赋值就要在前面+this.成员变量,只能在非静态的成员方法里使用
2、this.成员方法()
在成员方法里调用其他成员方法时可以使用this.方法
3、this()
在一个构造方法里调用另一个构造方法时,使用this()调用构造方法,必须放在第一行,否则会报错
五、对象的初始化
1、访问初始化
通过这种方法对对象进行初始化
2、类初始化
在定义字段时就初始化
3、构造方法初始化
可以提供带参数的构造方法,在对对象进行实例化的时候进行初始化
4、提供set方法
5、不初始化
不初始化时,引用类型默认是null,基本类型是0,boolean是false,char是\u0000