面向过程 : 也是一种编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象 : 就是一种编程思想,是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
基本概念:
类和对象 (理解为主):类是模板;对象是以类为模板创建的 (工厂生产产品,得有一个模子,根据模子设置设备生产)
类:描述一类事物,或看成一个分类,一个类就相当于一个模板,是不具体的
对象:指一个具体的个体
通常都会将对象划分为两个部分,即动态部分【行为】与静态部分。
①静态部分:顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。
②动态部分:然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),
人类通过探讨对象的属性和观察对象的行为了解对象。
静态部分:属性
动态部分:行为
如何去设计一个类呢?
class 类名{
成员变量 (字段); //属性
方法 (具体的一个功能行为); //行为
构造方法
}
ex:class Student{ //描述了学生这一类的事物
String name; //属性:姓名 【成员变量 可以不用初始化值】
int age; //属性:年龄 【成员变量 可以不用初始化值】
void eat(){ } //行为:方法
}
如何创建一个对象?
数据类型 变量名 = new 类名( ); ==> 注意:java就近原则,同包文件夹下
如何给对象字段赋值和取值?:
赋值 ===》 对象名.字段名 ( student.name = “张三”; )
取值 ===》 对象名.字段名 ( student.name )
ex:
堆栈内存分析理解:
生命周期:(从对象的开始到结束)
开始 : 创建对象的时候,new Student() ,new的时候就开始了;堆中
结束:当对象 失去引用的时候
说法1(常见的说法) :当对象失去所有的引用(没有变量再指向它了(没有变量在存储它的地址)- 相当于失联了,我们无法再使用它了)-- 就是死亡了;(垃圾回收器 并不是立刻进行回收)
说法2 : 对象真正的被销毁(对象会在堆里面占用内存,当把对象的内存空间回收了),Java有自动垃圾回收机制(GC);