![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 67
hanlingbo_2009
这个作者很懒,什么都没留下…
展开
-
Java多态性探悉[z]
From: http://topic.csdn.net/u/20071127/11/2a64066b-2f42-4877-b799-c596710e49a6.html 一、基本概念 多态性:发送消息给某个对象,让该对象自行决定响应何种行为。 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。 java 的这种机制遵循一个原则:当超类对象引用变量引...原创 2008-11-06 21:23:48 · 67 阅读 · 0 评论 -
模板方法模式的一个例子
11.1 模板方法例子 考虑一个银行存款例子。假设系统需要支持两种存款账号,及货币市场账号(MoneyMarketAccount )和定期存款账号(CDAccount)。这两种账号的存款利息是不同的,因此在计算一个存户存款利息的时候,必须区分两种不同的账号。 这个系统的总行为是计算出利息,这个也就决定了两个步骤:一是确定账号类型,二是确定利息的百分比。因此系统需要两个...2008-11-15 22:34:50 · 265 阅读 · 0 评论 -
模板方法模式中的方法
11.2 、模板方法模式中的方法 基本方法: 抽象方法(Abstract Method), 具体方法(Concrete Method), 钩子方法(Hook mehtod) 钩子方法:一个由抽象类声明并实现,而子类加以扩展。通常是抽象类给出的空实现,作为默认实现,子类加以扩展。 代码: abstract public class AbstractCla...2008-11-15 22:50:26 · 94 阅读 · 0 评论 -
Java 语言的反射机制
在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能1、在运行时判断任意一个对象所属的类。2、在运行时构造任意一个类的对象。3、在运行时判断任意一个类所具有的成员变量和方法。4...2008-11-16 12:22:18 · 98 阅读 · 0 评论 -
Java Reflection API 简介
在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中Class类:代表一个类。java.lang.ClassField 类:代表类的成员变量(成员变量也称为类的属性)。java.lang.reflect.FieldMethod类:代表类的方法。java.lang.reflect.MethodConstructor 类:代表类的构造方法。java.lan...2008-11-16 12:40:37 · 301 阅读 · 0 评论 -
java语言对观察者模式的支持
12.1 java语言对观察者模式的支持 在java语言的java.util库里面,提供一个Observable类以及Observer接口,构成java语言对观察者模式的支持。 例子代码: import java.util.Observer;import java.util.Vector;//java 库中的类,非用户定义...2008-11-17 17:32:10 · 200 阅读 · 0 评论 -
JDOM对xml文件的读写
1. 读取例子 xml文件代码<?xml version="1.0" encoding="UTF-8"?><sys-configure> <jdbc-info> <dirver-class-name>oracle.jdbc.driver.OracleDriver</dirver-class-name> &am2008-11-18 10:19:23 · 126 阅读 · 0 评论 -
JDOM对xml文件的读写API
根据jdom自带的例子总结 1. org.jdom.input.SAXBuilder, org.jdom.Document SAXBuilder的builder()方法返回一个xml文件的Document对象, filename 是xml文件的(全路径+文件名)字符串 代码: Document doc = new SAXBuilder().build(new Fi...2008-11-18 11:05:30 · 106 阅读 · 0 评论 -
命令(Command)模式
13、命令(Command)模式 命令模式(Command)是对命令的封装,命令模式把发出命令的责任和执行命令的责任分开,委派给不同的对象。 命令模式的五个角色:客户角色(Client):创建一个具体命令对象(Concrete Command),并确定其接收者。 命令角色(Command):声明一个给所有具体命令类的抽象接口,这是一个抽象角色,由...2008-11-23 10:59:42 · 248 阅读 · 0 评论 -
java内的命令(Command)模式例子
命令模式例子------创世纪系统 系统开始时,世界是个黑暗的窗体,窗体上有4个按钮: Let There Be Light(要有光), Let There Be Land(要有地),Reset(复原),God Rests(上帝休息了) 代码:/* 抽象命令角色 */public interface CommandFromGod{ public void Execute();...2008-11-23 11:17:07 · 170 阅读 · 0 评论 -
命令(Command)模式例子2
命令(Command)模式例子2 -------- AudioPlayer系统 系统描述: 小女孩julia有一个盒式录音机,有播音play,倒带rewind,停止stop功能。julia不需要知道命令的执行细节,只需要知道在键盘上按下什么键就可以了。 用命令模式来模拟。 代码:/** * This class plays the role of Abstract Command ...2008-11-23 11:47:31 · 270 阅读 · 0 评论 -
命令模式(Command)例子2增加宏命令
命令模式(Command)例子2增加宏命令 为julia的录音机增加一个记忆功能,可以把命令记录下来,在任何需要时重新把这些记录下来的命令一次性执行,这就所谓的宏命令。这时,julia的录音机就多了一个新按钮用于执行宏命令。 增加宏命令后的代码如下:/** 在Julia中加入的宏命令代码*/ public static void test2() { Comman...2008-11-23 12:00:27 · 127 阅读 · 0 评论 -
java八种基本类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 1、整数:包括int,short,byte,long 2、浮点型:float,double 3、字符:char 4、布尔:boolean基本型别大小最小值最大值boolean----------------char16-bitUnicode 0Unicod...2008-11-24 11:55:22 · 1449 阅读 · 0 评论 -
14. 合成模式(composite)
合成模式(composite)把部分和整体的关系用树结构表示出来。合成模式使的客户端把一个个单独的成分对象和由他们复合而成的合成对象等同看待。 合成模式(composite)的角色:抽象构件(Component)角色:这是一个抽象角色,它给参加组合的对象规定一个接口,这个角色给出共有的接口及其默认行为树叶构件(Leaf)角色:代表参加组合的树叶对象,树叶没有下级子对象树枝(Compos...2008-11-25 11:27:34 · 105 阅读 · 0 评论 -
14.1、安全合成模式和透明合成模式
安全合成模式代码:public interface Component { Composite getComposite(); void sampleOperation();} public class Leaf implements Component { public Composite getComposite(){ // Write you...2008-11-25 11:33:19 · 130 阅读 · 0 评论 -
15、装饰模式(Decorator)
装饰模式(Decorator)使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰的类。装饰模式的关键在于这种扩展是透明的。 装饰模式(Decorator)的角色:抽象构件(Component)角色:给出一个抽象接口,以规范准备接受附加责任的对象。具体构件(Concrete Component)角色:定义一个附加责任类。装饰(Decorator)角色:持有一个构件对象的实例。...2008-11-25 11:57:17 · 96 阅读 · 0 评论 -
java.io包学习
1. java.io 包中定义了多个流类型来实现输入和输出功能; 从不同的角度对其进行分类:按数据流的方向可以分为输入流和输出流按处理数据单位的不同可以分为字节流和字符流按功能的不同可以分为节点流和处理流 节点流:直接从一个数据源读写数据; 处理流:连接在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更强大的读写功能; 2. java所提供的流...2008-11-27 10:22:02 · 233 阅读 · 0 评论 -
模板(Template Method)方法模式
11、模板(Template Method)方法模式 定义:准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。 角色: 抽象模板角色 和 具体模板角色 代码:/**抽象模板类*/public abstract class AbstractClass { /**模板方法声明和实现*/ p...2008-11-15 22:11:12 · 132 阅读 · 0 评论 -
不变(Immutable)模式
10、不变(Immutable)模式 定义: 一个对象的状态在对象被创建之后就不在发生变化,这就是Immutable Pattern。 不变模式分:强不变模式和弱不变模式 弱不变模式:一个类的实例状态是不变的,但是这个类的子类实例具有可能会变化的状态。 强不变模式:一个类的实例状态是不变的,这个类的子类实例也具有不可变化的状态。...2008-11-15 21:44:14 · 128 阅读 · 0 评论 -
桥梁(Bridge)模式
9、桥梁(Bridge)模式 桥梁模式的结构图这个系统含有两个等级结构:抽象化角色(abstaction)和修正抽象化角色(RefinedAbstraction)构成抽象化等级结构由实现化角色(Implementor)和两个具体实现化角色所构成的实现化等级Facade模式的角色:抽象化角色(Abstraction): 保存一个实现化对象的引用,给出抽象化定义修...2008-11-15 13:01:48 · 133 阅读 · 0 评论 -
jsp内置对象
1、request , HttpServletRequest,它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 2、response, HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等) 3、out对象是javax.jsp.JspWriter的一个实...2008-11-07 13:49:19 · 77 阅读 · 0 评论 -
动态代理相关
http://www.blogjava.net/AndersLin/archive/2006/06/11/51997.html原创 2008-11-10 10:42:31 · 81 阅读 · 0 评论 -
java.lang.Class
来自:http://www.cnblogs.com/eflylab/archive/2007/03/22/684691.html 一. Class类1. Class对象描述了运行中的classes和interfaces。通过Class对象可以取得运行中的classes和interfaces的相关信息。见例子程序2. 每个类都有一个相应的java.lang.Class对象。每个类的Class对...原创 2008-11-12 10:28:36 · 87 阅读 · 0 评论 -
Java反射经典实例 Java Reflection Cookbook
http://orangewhy.iteye.com/blog/56011 Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中学习这套精彩的机制。1. 得到某个对象的属性public Object getProperty...原创 2008-11-12 11:34:07 · 69 阅读 · 0 评论 -
JAVA中的反射机制详解
来自 http://java.ccidnet.com/art/3539/20070924/1222147_1.html JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运...原创 2008-11-12 12:33:45 · 72 阅读 · 0 评论 -
简单工厂模式
1. 简单工厂模式。2008-11-12 21:15:31 · 63 阅读 · 0 评论 -
工厂方法模式
2. 工厂方法模式原创 2008-11-12 21:42:11 · 126 阅读 · 0 评论 -
抽象工厂模式
3. 抽象工厂模式2008-11-12 22:00:19 · 66 阅读 · 0 评论 -
策略模式
4. 策略模式环境角色(Context):持有一个Strategy类的引用。抽象策略角色(Strategy):给出所有具体策略类所需的接口。具体策略(ConcreteStrategy):包装相关算法和行为。 ...2008-11-14 10:30:26 · 82 阅读 · 0 评论 -
软件设计原则
开闭原则 OCP(Open-Closed Principle): 对扩展开放,对修改关闭. 抽象和接口是关键.里氏代换原则 LSP(Liskov Substitution Principle): 如果对于每一个类型为T1的对象o1,都有类型为T2的对象o2, 使得以T1定义的所有程序P在所有对象o1都代换为o2时, 程序P的行为没有变化, 那么类型T2是类型T1的子类型。反过来代换不成立。...2008-11-14 11:06:34 · 84 阅读 · 0 评论 -
每个程序员都应牢记的7种坏味道,11种原则,23种模式
来自:http://www.iteye.com/topic/41096 个程序员都应牢记的7种坏味道,11种原则,23种模式 (一)7种设计坏味道 1.僵化性: 很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。 2.脆弱性: 对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。 3.牢固性: 很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。 ...原创 2008-11-14 12:30:46 · 89 阅读 · 0 评论 -
建造模式(Builder)
5. 建造模式(builder)抽象建造者角色(builder):给出一个抽象接口,以规范产品对象的各个组成部分的建造。一般包括两种方法:1、建造方法,比如生成零件方法等;2、结果返回方法;比如返回汽车方法。具体建造者(Concrete Builder)角色: 实现抽象建造者Builder所声明的接口,给出创建创建产品实例的操作;在建造完成后,提供产品实例返还。导演者(Director):...2008-11-14 15:46:39 · 103 阅读 · 0 评论 -
适配器模式(Adapter)
6. 适配器模式(Adapter) 模式所设计的角色有:目标角色(Target): 这里是所期待得到的接口。此目标不可以是类。源角色(Adaptee): 现有需要适配的具体类,要包装类中的方法。适配器(Adapter): 把源接口转换成目标接口。适配器必须是具类。 ...2008-11-14 16:50:35 · 257 阅读 · 0 评论 -
缺省适配模式(Default Adapter)
7、缺省适配模式(Default Adapter) 问:在什么情况下使用该模式? 答:不准备实现一个接口的所有的方法时。 例子: 假设有一个接口,这个接口有5个方法: /** * 拥有5个方法的接口 * */public interface A { void f1(); void f2(); void f...2008-11-14 17:19:22 · 209 阅读 · 0 评论 -
代理模式(Proxy)
8. 代理模式(Proxy)抽象主题角色(abstract role): 声明真实主题和代理主题的共同接口。代理主题角色(Proxy role ): 包含真实主题的引用;创建真实引用;在调用真实主题之前和之后,执行某个真实对象没有侧操作。真实主题角色(true role): 被代理的对象。 代理模式例子 public interface SaleComputer {...2008-11-14 17:51:01 · 130 阅读 · 0 评论 -
门面模式(Facade)
8、门面模式(Facade)门面角色(Facade): 供客户端调用,分派客户端的请求到子系统中去;此角色知晓相关的子系统的功能和责任;子系统角色(SubSystem): 可以有一个或多个子系统;每个子系统都是一个类的集合 什么是门面角色? 门面模式要求一个子系统的外部和内部的通信必须通过一个统一的门面(Facade)进行。 门面模式提供一个高层次的接口,使得子系统易于...2008-11-15 12:21:47 · 97 阅读 · 0 评论 -
java.io包学习1
转自:http://www.blogjava.net/cherishchen/archive/2007/07/10/129313.html 所有类的根接口:InputStream/OutputStream 一、底层的还是装饰的1、底层的直接与文件系统或者硬件打交道的类(充当数据源的类): 包括InputStream和OutPutStream两大类,分别用于输入和输出,数据源可以是by...原创 2008-11-27 10:23:33 · 129 阅读 · 0 评论