CoreJava学习笔记:面向对象与类型系统解析

需积分: 0 1 下载量 120 浏览量 更新于2024-07-30 收藏 273KB PDF 举报
"CoreJava核心笔记,包括21天的学习内容,由讲师刘苍松于2011年8月8日至8月22日授课,适用于Java基础学习者。" 在CoreJava的学习中,主要涉及以下几个关键知识点: 1. 面向对象编程(OO) - 对象:在编程中,对象是对现实世界中具体事物的抽象,它包含了数据(属性)和操作这些数据的行为(方法)。 - 面向对象的思考:关注的是对象之间的关系和交互,而不是孤立的代码。 - OOA(面向对象分析)和OOD(面向对象设计):分别指在软件开发过程中对问题域的分析和设计方案的制定。 2. 类、引用和对象 - 类:类是对象的模板,定义了对象的属性(如:书号、书名、作者、价格)和行为(如:借阅、归还)。 - 引用:在Java中,变量可以指向一个对象,这个变量就称为引用,它存储的是对象在内存中的地址。 - 对象:在堆内存中创建,每个对象都有其特定的属性和方法。 3. Java类型、引用变量与堆对象 - 栈与堆:栈内存用于存储局部变量,按LIFO原则分配;堆内存用于存储对象,分配方式相对灵活。 - 变量类型:包括基本类型(如int、double)和引用类型(如对象引用)。基本类型变量存储实际值,引用类型变量存储对象地址。 - 对象初始化:对象的属性在创建时会自动初始化为默认值,如int为0,引用为null。 4. 属性与方法 - 对象的属性:表示对象的状态,如点类中的坐标属性。 - 对象的方法:定义对象的行为,如点类中的移动方法。 5. 多态与封装 - 多态:同一种行为在不同对象上表现可能不同,例如,"打"一盏灯可以理解为开关灯,对不同类型的灯有不同的效果。 - 封装:隐藏对象的内部实现细节,只对外提供公共接口进行交互,提高代码的安全性和可维护性。 6. 继承 - 继承:允许一个类(子类)继承另一个类(父类)的属性和方法,实现代码复用和扩展。 案例:定义一个Point类,表示平面坐标系中的点,属性包括两个int类型的坐标。可以通过这个类来创建点对象,并进行坐标相关的操作,如移动点的位置。在编程实践中,可能会定义更多的方法,如计算两点之间的距离,或者实现其他图形类,如线段、矩形等,这些都是基于面向对象编程思想的体现。