欢迎访问: www.ptcms.cn
第一章
继承:复用接口
@1将解决方案转化成问题术语的描述,避免了在问题术语和解决方案之间建立众多的中介模型.
@2通过使用对象,类型层次成为了主要的模型
@3通过继承而产生的类型等价(type equivalence)是理解面向对象程序设计方法的内涵的重要门槛.
@4使基类和导出类产生差异:1:在基类中增加新的方法;2.orerriding 覆盖基类中的方法.
|-是一个(is-a)与像是一个(is-like-a)的关系
是一个:替代法则(substitution principle)
|-伴随多态的可互换的对象(多态)
抽象基类和接口
abstract-->Interface
在基类中的方法都是用来操作泛化对象的.
@1非面向对象(non-OOP)编译器 前期绑定 连接器 绝对地址
面向对象 后期绑定 类型检查 一小段特出的代码替代绝对地址的调用 向上转型
example:
package rk.test;
public class Shape {
public void draw(){
System.out.println("fulei");
}
void doDuff(Shape s){
s.draw() ;
}
}
/////////
package rk.test;
public class Circle extends Shape {
public void draw(){
System.out.println("画圆");
}
}
////////////
package rk.test;
public class Line extends Shape {
public void draw(){
System.out.println("画直线");
}
}
//////////
package rk.test;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Circle c = new Circle() ;
Line l = new Line() ;
Shape s = new Shape() ;
s.doDuff(c) ;
s.doDuff(l);
}
}
///////输出结果
画圆
画直线
//////////////////////复习2///////////////
对象的创建,使用和生命周期
OOP:涉及抽象数据类型,继承和多态
@1.C++:控制效率-->对象的存储空间和生命周期可以在编程时确定--》将他们置于堆栈或者静态存储区域内来实现.
这中方式将存储空间的分配和释放放在优先的闻之,但失去了灵活性。因为在编写程序时必须知道对象的数量,生命周期和类型.
Java:在堆(heap)的内存池中动态的创建.(只有在运行的时候才能知道对象的数量,类型)
结论:C++:必须编写程序来销毁对象(内存泄漏的问题)
Java:垃圾回收器(garbage collector)
集合(Collection)与迭代器(Iterator)
@1. java1.0 和java1.1版本为所有容器类涉及的被称为Enumeratiron的标准迭代器
Java 2 增加了一个完备得多的容器类库,其中包含一个被称为Iterator的比老师的Enumeratiron能做的更多的迭代器
接口Collection:包含的接口{List:{ArrayList,LinkedList,Vector,Stack},Set{HashSet,LinkedHashSet,TreeSet},SortedSet{TreeSet},Queue}
接口Map:{HashMap,Hashtable,LinkedHashMap,Properties,Provider,TreeMap}
单根继承结构:
Object(11方法):单根继承带来的好处:
@1:所有的对象都具有一个公用的接口,所以他们归根到底都时相同的基本类型;
@2:保证所有的对象都具有某些基本的功能,在堆上创建所有的对象,极大的简化了参数的传递.
@3:使垃圾回收器的实现变的简单多了,其向上转型的特点可以把消息发送给系统中的每一个对象。
@4:由于所有的对象都保证在运行时刻具有类型信息,这对异常处理这样系统级别的操作变的尤其的重要.
回顾:java里有13个包:其中常用的lang,io,util,sql,beans,net,
向下转型(downcasting)与模板/泛型(template/generic)
1.参数化类型(parameterized type)来取出特定的对象
垃圾回收器可以确保正确的清楚.(在对象复杂的情况下)
垃圾回收与效率和灵活性:
1.C++采用在堆栈上创建对象:时对象分配和释放存储空间的最有效的途径,运行时刻的开销下,缺点不灵活;
2.java:采用在堆上创建对象,代价比较高昂,而且总时从某个基类继承以及所有方法的调用都是多态的也需要不小的开销,有点灵活性好
3.垃圾回收:你从来不知道它将何时启动并且持续多久,从而导致了java程序的执行速度会有前后不一置的情况.
异常处理:处理错误:java一开始就把异常处理程序内置了编程语言中,因为Java一开始就内置了异常处理.
分享到:
相关推荐
第5 版 清华大学出版社<br> “SCJP学习指南” 人民邮电出版社<br> “Java 编程思想” 第3版 机械工业出版社<br> 教学内容和要求<br>知识点 重要程度 使用频度 难度<br>Java 入门 高 中 易<br>变量和运算符 高 ...
### Java考试复习资料详解 #### 一、架构模式:B/S与C/S - **B/S架构**(Browser/Server,浏览器/服务器)是一种通过Web浏览器进行访问的应用系统架构。客户端只需要一个Web浏览器即可,无需安装任何软件。所有的...
### Java基础复习笔记09数据结构-哈夫曼树 #### 概述 本文档主要介绍了Java中的数据结构——哈夫曼树(Huffman Tree),并深入探讨了其原理、构造方法以及应用实例。哈夫曼树是一种带权路径长度最短的二叉树,在...
排序算法复习大全(Java 实现) 本文档旨在详细介绍排序算法的各种实现方式,包括插入排序、冒泡排序、选择排序、Shell 排序和快速排序等,所有算法都使用 Java 语言实现。本文档首先引入了一个基础类 Sorter,用于...
其中,`b` 依赖于 `a`,通过 `<property>` 标签指定了依赖关系,并通过 `<ref>` 标签引用了 `a` 的bean。 #### 四、Spring配置详解 - **`<beans>` 标签**:根元素,用来包含所有的bean定义。 - **`<bean>` 标签**...
【Java期末考试复习知识点】 1. 计算与比较班级平均成绩和方差 在这个编程题中,我们看到了如何计算两个班级的平均成绩和方差。平均成绩的计算是通过对所有分数求和后除以分数的数量。方差则是通过计算每个分数与...
在准备JAVA期末考试的过程...在复习时,要深入理解这些概念并进行实践,熟悉每种结构的用法,掌握面向对象编程的核心思想,以及Java内存管理和异常处理等高级话题。同时,多做练习题,巩固理论知识,提高实际编程能力。
【北大青鸟S1 Java总复习资料】是针对北大青鸟1期学员的全面Java学习总结,涵盖了多个项目和复习题目的答案,旨在帮助学员巩固和深化Java编程的知识。这份资料的重要性在于它提供了实践和理论相结合的学习材料,有助...
【软考复习资料<历年的模拟题>】是针对全国计算机技术与软件专业技术资格(水平)考试(简称软考)的复习资源集合。这个压缩包包含历年来的模拟试题,是作者当年备考时所使用的材料。虽然这些模拟题可能无法确保你在...
2. Hibernate:了解Hibernate的核心思想、查询优化、一级和二级缓存机制、延迟加载等高级特性。 3. Spring:熟悉Spring的IOC和DI原理、Bean的生命周期、注入属性的方式、AOP原理以及ApplicationContext与...
4. **Lambda表达式与Stream API**:Java 8引入的新特性,函数式编程思想。 5. **JavaFX或Swing**:图形用户界面(GUI)编程,组件使用,事件处理。 6. **JVM优化**:内存模型,垃圾回收机制,性能监控工具。 这三套...
根据提供的信息,我们可以总结出以下关于《Java语言程序设计基础第十版》第十二...以上是对《Java语言程序设计基础第十版》第十二章中部分复习题答案的详细解释,希望能帮助读者更好地理解Java中的异常处理及相关概念。
### JAVA基础知识复习面试笔试宝典 #### 面向对象基础 **面向对象**与**面向过程**是两种常见的编程思想。面向过程的核心是过程、步骤或函数,它以过程为核心,强调的是如何去做;而面向对象的核心是对象,它以...
在 XML 配置文件中,我们可以使用 `<bean>` 标签来定义一个 Bean,将其注入到 IOC 容器中。例如: ```xml <bean id="userDao4MySqlImpl" class="com.bjsxt.spring.dao.UserDao4MySqlImpl"/> <bean id="userDao4...
为了帮助应届毕业生和有两年工作经验的开发者更好地准备面试,以下将详细讲解Java面试中的重点复习内容。 1. **基础概念** - Java的特性:了解Java的跨平台性(Write Once, Run Anywhere)、垃圾回收机制、多线程...
### Java秋招复习资料——操作系统基础 #### 一、操作系统基本特征 1. **并发**:并发是指在宏观上能够同时运行多个程序的能力。而并行则是指在同一时刻能够执行多个指令,通常需要硬件的支持,比如多核心处理器或...
Java期末复习题目 Java是当前最流行的编程语言之一,广泛应用于Android应用开发、Web开发、企业软件开发等领域。为了帮助学习者更好地掌握Java编程语言,以下是Java期末复习题目的详细知识点总结。 数据类型关键字...
<interceptor name="myInterceptor" class="util.MyInterceptor"></interceptor> 定义拦截器的值栈空间 <interceptor-stack name="myStack"> <interceptor-ref name="defaultStack"></interceptor-ref> ...