反向控制 Inversion of Control(JAVA Application)
Android_1.0_eBook_by_tom_kao_2008_10_15.pdf
《Android应用框架原理与程序设计36技》
本書完整範例程式碼請到網站下載:
www.misoo1.com 或 tom-kao.blogspot.com
高煥堂 著(2008 年10 月第三版)
misoo.tw@gmail.com
反向控制(Inversion of Control)
當子類別繼承父類別時,父類別之函數可以呼叫子類別之函數。雖然父類別(前輩)誕生時,子類別(晚輩)常常尚未誕生﹔但是前輩有時候可預知晚輩中的函數,就可呼叫它。
框架裡的抽象類別就是扮演父類別的角色,只是含有一些陽春型(抽象的)的類別,其提供很通用,但不完整的函數,是設計師刻意留給應用程式的子類別來補充的。一旦補充完成,框架裡的父類別的函數就可以「反向呼叫」子類別裡的函數了。
2.2.2.1 以一般Java 程式為例
例如:有了一個繪圖的Shape 父類別:
// Shape.java
package framework;
public class Shap{
public void paint() { this.onDraw(); }
public abstract void onDraw();
}
設計者預期子類別將會定義一個Draw()函數,於是讓Paint()呼叫子類別的Draw()函數。於是子類別(晚輩)提供Draw()給父類別(前輩)來呼叫之,如下:
//Cicrle.java
package _objects;
import java.awt.Color;
import java.awt.Graphics;
import _framework.*;
public class Circle extends Shape {
private Graphics m_gr;
private int x, y, radius;
public Circle(Graphics gr) { m_gr = gr; }
public void Se
相关文档:
Java线程:新特征-有返回值的线程
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。
现在Java终于有可返回值的任务(也可以叫做线程)了。
可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Ru ......
Java线程:新特征-锁(上)
在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。
Condition
Condition 将 Object 监视器方法(wait、notify ......
Java 生成 EXCEL POI文档说明
POI版本:3.0.2-FINAL
下载地址: http://poi.apache.org/index.html
一般在项目中真正要实现这样一个表格的时候,例如项目需要制作报表等等,通常的做法都是事先把格式一切的东西都手动制作好(这个做好了的文件在实际的项目里我们称之为“数据模板”,简称“模板&rd ......
http://danadler.com/jacob/
http://jakarta.apache.org/poi/
http://www.onjava.com/pub/a/onjava/2003/01/22/poi.html
http://www.csdn.net/develop/article/15/15311.shtm
http://forum.java.sun.com/thread.jsp?forum=40&thread=382666&tstart=0&trang ......
Java数据类型
Hibernate数据类型
标准SQL数据类型
(PS:对于不同的DB可能有所差异)
byte、java.lang.Byte
byte
TINYINT
short、java.lang.Short
short
SMALLINT
int、java.lang.Integer
integer
INGEGER
long、java.lang.Long
long
BIGINT
float、java.lang.Float
float
FLOAT
double、java.lang.Doubl ......