一、什么是面向对象
oop:Object Oriented Programming
对象 面向 编程
人为抽象出来的一种编程模型,其本质是将一个大的问题拆分成若干个小的问题,
通过完成这些小的问题,最终达到解决大的问题的一种编程方式。符合计算机中分而治之的思想。
二、对象
1、object 对象,东西
2、一切客观存在的事物都是对象
3、对象的特点:每一个对象都是一个独一无二存在的个体
三、类
1、类是具有相同特性或者相同行为的对象集合
如:人类、鸟类、动物类、植物类
2、类是对象的模板,对象是类的具体事例
所有的对象都是按照类这个模板造出来的
日常生活中:先有对象,再有类
程序代码中:先定义类,再有对象
四、属性Field(实例变量,字段)
1、类中所有的对象所具有的相同静态特征(对象有什么)
2、结构相同,数据不同
3、位置:类的里面,其他方法的外面
4、通过引用名.属性名来对对象的属性进行访问修改
5、属性有默认值
1>基本类型
1)整数:0
2)浮点:0.0
3)字符:'\u0000'
4)布尔:fasle
2>引用类型
null
五、方法Function(函数,实例方法)
1、同一个类中,所有的对象所拥有的相同的动态行为(对象能干什么)
2、对象方法不能使用static调用
3、通过引用名.方法名(实参)来对对象的方法进行调用
六、引用
1、对象类型的变量,存在于栈内存中,主要用于保存堆中一个对象的地址值,
栈中的引用指向堆中对象
2、通过引用可以操作对象的属性和方法
3、可以多个引用指向同一个对象,一个引用对对象属性值的修改会影响其他引用的访问
4、引用的特殊值null
1>任何引用类型都可以赋值为null,代表空,不存在,也就是栈中引用没有保存任何对象的地址值
2>引用一个引用指向了null,那么通过引用访问了对象的属性或者调用了对象的放法,就会产生nullPointerE xception空指针异常
七、构造方法Constructor(构造器,构造函数)
1、构造方法的作用是根据类这个模板来创建具体对象的方法,构建对象时会自动调用。
2、构造方法特点
1>方法名和类名相同
2>没有返回值类型,也不能写void
3、如果我们没有定义任何构造方法,那么Java会给我们提供一个默认的无参构造方法,
如果我们自己定义了构造方法,就不再提供默认的无参构造了
4、一个类中可以定义多个构造方法,互为重载关系
5、带参数的构造方法可以用于给对象属性赋值
八、this关键字
1、this是个特殊的引用,用于指向当前对象,能用在构造方法和实例方法中,
哪个对象来调用这个方法,this就指向哪个对象。
2、this.属性名
操作当前对象的属性