面向对象 VS 面向过程:
面向过程--针对某一个问题单独提出解决方案和代码开发
面向对象--组件化的代码设计
面向对象的特征:
1.封装性:保护内部结构的安全性,封装后的属性对于外部不可见
2.继承性:在已有的程序结构上扩充新功能,可以减少代码的重复
3.多态性:指在某一个概念范围内的满足(好吧还没有学到这,不知道具体是什么意思)
类与对象--类与对象的关系:
1.类是用来描述对象的结构。类实际是对象操作的模板。
2.类不能直接使用,必须通过实例化对象来使用
3.对象通过类产生,产生后的对象可以使用
类与对象--类和对象的定义结构:
1.类的定义:
class ClassName { Field; //属性,成员,变量 Method; //方法,行为--方法是由实例化的对象去调用的 }
2.对象的声明和实例化(以 Book 类为例)
//声明并实例化 Book book = new Book(); //先声明,后实例化 Book book = null; book = new Book();
3. 利用对象操作类的结构
对象名.属性
对象名.方法()
4. 内存空间分析
堆内存:保存每个对象的属性内容,需要 new 关键字开辟
栈内存:保存堆内存的地址,对应的是对象的名字
关系:
多个栈内存可以指向同一个堆内存,改变一个堆内存的内容时,指向这个堆内存的所有栈内存也会受到影响。
一块没有任何栈内存指向的堆内存将会成为垃圾,不定期被垃圾收集器(GC)会收并释放其占有的空间。