Java
文章平均质量分 62
huiyi789
这个作者很懒,什么都没留下…
展开
-
core-java学习【一】
import java.util.*;public class Employee { //构造器,-------------------------------------------------注意参数的命名规则 //默认构造器 public Employee() { } public Employ...原创 2010-07-16 21:17:29 · 102 阅读 · 0 评论 -
Java关键字final、static使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能...原创 2010-07-16 22:21:20 · 69 阅读 · 0 评论 -
使用this在构造器中调用构造器
可能为一个类写了多个构造器,有时可能想在一个构造器中调用另一个构造器,以避免重复代码。可用this关键字做到这一点。 通常写this的时候,都是指“这个对象”或者“当前对象”,而且它本身表示对当前对象的引用。在构造器中,如果为this添加了参数列表,那么就有了不同的含义。这将产生对符合此参数列表的某个构造器的明确调用;这样,调用其他构造器就有了直接的途径:public class Fl...原创 2010-07-16 23:01:07 · 261 阅读 · 0 评论 -
core-java学习【二】
package com; import java.util.*; public class ArrayListTest { public static void main(String[] args) { // fill the staff array list with three Employee...原创 2010-07-18 17:18:44 · 140 阅读 · 0 评论 -
core-java学习【三】Java内部类
成员内部类可以随意访问外部类中的变量,而外部类不能够直接访问内部类中的变量,只有通过使用内部类对象来引用内部类的成员变量。 如果使用 this.i 的方式来调用变量,则表示这个变量是成员内部类中定义的变量。而通过使用 student.this.i 的形式调用变量时表示此时引用的是外部类的成员变量。(类student)实例:package ...原创 2010-07-19 15:57:42 · 89 阅读 · 0 评论 -
core-java学习【四】- 接口 - 排序
package compare;public class Employee implements Comparable<Employee>{ // 构造器 public Employee( String firstName , String lastName , double salary ) { this.firstName...原创 2010-07-19 16:40:24 · 84 阅读 · 0 评论 -
[转]Ubuntu搭建java开发环境
原文地址:http://halzhang.iteye.com/blog/248926 Ubuntu搭建JAVA开发环境——JDK6.0+Eclipse3.1+MyEclipse4.1+MySQL 5.0+Tomcat5.01. JDK安装JAVA环境 打开终端,执行以下命令,或使用《新立得软件管理器》,在其中分别搜索“sun-java5-jre“和“su...原创 2010-07-21 20:13:10 · 90 阅读 · 0 评论 -
Eclipse调试常用技巧
原文地址:http://www.iteye.com/topic/6338241、 条件断点 断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。 在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"...原创 2010-07-21 22:58:37 · 93 阅读 · 0 评论 -
java抽象类和接口
关键字: java抽象类和接口的区别---详细解说abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class...原创 2010-07-22 16:27:13 · 73 阅读 · 0 评论 -
Java集合类详解
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元...原创 2010-08-03 14:49:40 · 68 阅读 · 0 评论 -
18位身份证验证小组件
下载地址:http://codeshop.googlecode.com/files/idchecker.zip 原文地址:http://www.blogjava.net/rongxh7/archive/2010/01/03/308097.html 提供给外部调用的cn.idchecker.check.Checker类的相关方法如下表:方法方法作用参数及返...原创 2010-08-04 21:45:55 · 163 阅读 · 0 评论 -
用static关键字修饰类
Java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类(见如下代码) public class OuterClass { public static class InnerClass{ InnerClass(){...2010-08-11 20:00:49 · 416 阅读 · 0 评论 -
Class.forName(name).newInstance()用法
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通常也不知其含义,通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )动态加载类是没有用的,其最...原创 2010-08-11 21:29:12 · 904 阅读 · 1 评论 -
Factory模式与Prototype模式的异同
工厂模式实现的生产产品的功能,关键是利用了继承的特性。也就是说,你生成的产品,一定是由同一个抽象产品类派生出来的。所以,在工厂模式下,你如果要生成一类产品,就要引入一个抽像产品类,然后再由它派生出具体产品。同样,在原型模式中,你完全可以同样定义一个这样的“抽象产品--具体产品”层次,再利用具体产品本身的clone功能来产生具体产品本身。从而达到实现工厂模式功能的目的。可能说到这,大家有点糊涂了。实...原创 2010-08-12 00:54:05 · 185 阅读 · 0 评论 -
Builder 生成器模式
实际上,既然Builder和Factory同属创建型模式,那么他们的最大共同点就在于都可以创建类对象,在这点上,不光这两个模式一样,其它创建型模式也一样。但正如在《深入探索Factory模式与Prototype模式的异同(续)》一文中所说,这些模式,功能上的相似,只是“形似而非神似”。既然这样,那好,下面就让我们能看看Builder和Factory在功能的相似上,存在哪些神韵方面的差别。...原创 2010-08-12 09:39:44 · 82 阅读 · 0 评论 -
Singleton模式
地址:http://www.ibm.com/developerworks/java/library/j-dcl.html?dwzone=java原创 2010-08-12 11:12:49 · 78 阅读 · 0 评论 -
Facade外观模式
Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。在这里我想举一个例子:比如,现在有一辆汽车,我们(客户程序)要启动它,那我们就要发动引擎(子系统1),使四个车轮(子系统2)转动。但是实际中我们并不需要用手推动车轮使其转动,我们踩下油门,此时汽车再根据一些其他的操作使车轮...原创 2010-08-12 13:02:41 · 105 阅读 · 0 评论 -
代理模式Proxy
一、 代理模式 代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理类的创建时期,代理类可分为两种。 ...原创 2010-08-12 16:43:05 · 112 阅读 · 0 评论 -
Decorator装饰模式
Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。GoF《设计模式》...原创 2010-08-14 02:15:03 · 80 阅读 · 0 评论 -
Adapter - 适配器模式
假设模型:媒体播放器,既能播放音频文件AudioMedia,又能播放视频文件VideoMedia 。其中音频文件又分MP3格式和WMV格式;视频文件又分MPEG格式和RM格式。经过功能分析,不管哪种类型的文件都要有一个播放的方法,也就是Play() ,原型结构如图:当各个类之间继承/实现关系理清楚后,我们现在可以实现一个播放器类MediaPlayer,它可以播放任何一种格式...2010-08-15 13:58:20 · 118 阅读 · 0 评论 -
Decorator装饰模式【Media版】
理解聚集关系在代码中的体现。 package decorator_media;public interface IMedia { public void Play();} package decorator_media;public abstract class VideoMedia implements IMedia { public a...2010-08-16 12:33:25 · 77 阅读 · 0 评论 -
Composite模式
定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性. Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来...2010-08-17 13:19:54 · 105 阅读 · 0 评论 -
Bridge桥接模式
源码: package bridge;public abstract class Coffee { @SuppressWarnings("unused") private CoffeeImpl coffeeImpl; public Coffee(CoffeeImpl _coffeeImpl) { this.coffeeImpl = _co...2010-08-17 16:00:27 · 129 阅读 · 0 评论 -
对Java接口理解的实例
通过google学习了一段时间的ssh整合,现在对整合一个ssh开发环境以及一个注册登陆系统已不是问题,也许是出于本人Java基础的问题,在此发表此文章加深对ssh开发过程中,几个概念的理解:一是:面向接口编程二是:设置注入(setter注入) 示例程序说明: 本文将引用一个常见的场景(旨在加深自己对接口与实现概念的理解):抽象 【汽车Car】 中有实例 ...原创 2010-05-28 00:46:02 · 122 阅读 · 0 评论 -
Java语言接口与继承的本质
大多数人认为,接口的意义在于顶替多重继承。众所周知Java没有c++那样多重继承的机制,但是却能够实作多个接口。其实这样做是很牵强的,接口和继承是完全不同的东西,接口没有能力代替多重继承,也没有这个义务。接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨...原创 2010-05-30 09:43:42 · 93 阅读 · 0 评论 -
项目约定
文件命名规则JSP文件命名规则:[模块名]_[动作名].jsp (字母全部小写) JAVA文件命名规则:[模块名][动作名].java (首字母全部大写) Strtus Action命名规则: [模块名][动作名]Action.java (首字母全部大写) Form Bean命名规则: [模块名]Form.java (首字母全部大写) Struts path命名规则: /[目录名][模块名][...原创 2010-06-03 15:42:52 · 98 阅读 · 0 评论 -
项目中的一些开发规则
良好的开发规则对整个团队是很有帮助的。下面是在项目中的一些开发规则:一、jsp命名规则: 1.格式:对象名_功能名.jsp 2.名字全部小写 3.功能名定义: 主界面:main; 新增界面:add; 修改界面:update; 查看界面:view;等 例如,系统参数主界面的命名为:sysparam_main.jsp二、acti...原创 2010-06-03 15:44:40 · 101 阅读 · 0 评论 -
Flyweight模式
一、Flyweight模式的意图:缓存(共享)可以共同的对象、属性,避免创建大量的重复对象、内容。二、Flyweight模式的特点:为重复或可共享的对象、属性设置一个缓冲,称为内部属性。这些内部属性一般情况下都是不可修改的,也就是在第一个对象、属性被创建后,就不会去修改了(否则就没意义了)。除了共享对象、属性之外,还有一些是基于应用环境,或是实时数据,这些无法共享的东西我们称为外部状态。在Flyw...原创 2010-08-21 15:17:31 · 144 阅读 · 0 评论 -
Memento模式
一、Memento模式的目的:memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.二、Memento模式的简单例子:下面的例子来源于Jdon网站的《GoF设计模式系列》的《Memento模式》,虽然简单却形象地表明了Memento模式的应用 package memento;import java.io.File;publ...原创 2010-08-21 17:05:05 · 232 阅读 · 0 评论 -
匿名内部类示例
package anonymousInnerClass;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Date;import javax.swing.Timer;public cl...原创 2010-08-21 18:17:08 · 90 阅读 · 0 评论 -
静态内部类
静态内部类:在内部类不需要访问外围类对象的时候,应该使用静态内部类;如果需要访问外围类对象,则可使用局部内部类 package staticInnerClass;public class ArrayAlg { /** * A pair of floating-point numbers * 在内部类不需要访问外围类对象的时候,应该使用静态内部类 ...原创 2010-08-22 12:49:33 · 86 阅读 · 0 评论 -
Java代理
利用代理可以在运行时实现了一组给定接口的新类。 问题提出: 假设有一个表示接口的Class对象数组(可能只包含一个接口),它的确切类型在编译时无法知道,现在需要构造一个实现这些接口的类对象,确实有些难度。如果一个Class对象表示一个实际的类,那么就可以使用newInstance方法或反射找出这个类的构造器。但是,不能实例化一个接口,并且在程序处于运行状态时也无法定义一个新类。 ...原创 2010-08-22 13:32:11 · 69 阅读 · 0 评论 -
Java代理总结
Java代理机制 分类: 静态代理:继承代理【基于抽象类的代理】 聚合代理【基于接口的代理】 动态代理:jdk代理【只针对接口,不能针对类】 cglib代理【针对类实现代理,主要对指定的类产生一个子类,并且覆盖其中的方法实现类增强,因为采取的是继承的方式,无法对final类进行代理,hibernate使用的是cglib...原创 2010-08-22 15:01:41 · 89 阅读 · 0 评论 -
JAVA List<T> 如何初始化
//List是虚拟的类,不能直接实例化,但是可以实例化他的子类通常用法:List<类型> list=new ArrayList<类型>();List是一个接口,不可实例化,通过实例化其实现类来使用List集合,他的最常用实现类ArrayList;使用示例:List<String> list= new ArrayList<Str...原创 2010-08-22 22:40:29 · 681 阅读 · 0 评论 -
Observer观察者模式
一、观察者模式简介(Brief Introduction)观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化的时,会通知所有观察者对象,使他们能够自动更新自己。二、解决的问题(What To Solve)当一个对象的改变需要同时改变其他对象的时候,而且不知道有多少对象有待改变时,应该考虑使用观察者模式。观察者模式所做...原创 2010-08-22 23:21:58 · 81 阅读 · 0 评论 -
Observer模式【二】
package observerDM;import java.util.Observable;public class ConcreteSubject extends Observable { public ConcreteSubject(String _name , float _price) { this.name = _name; this.pric...原创 2010-08-24 01:02:08 · 103 阅读 · 0 评论 -
泛型学习的例子
例一:package genericType;public class Pair<T> { // 构造器一 public Pair() { this.min = null; this.max = null; } //构造器二 public Pair(T _min,T _max){ this.min = _min; th...原创 2010-08-25 14:02:37 · 112 阅读 · 0 评论 -
java中instanceof用法
public interface A{}public class B implements A{ public static void main(String[] args){ A a=null; B b=null; if(a instanceof A){ System.out.println("true 1"); } else{ ...原创 2010-08-25 17:17:10 · 130 阅读 · 0 评论 -
Java+tomcat配置环境变量
JAVA_HOME=C:\java\jdk Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar CATALINA_HOME=...原创 2010-06-11 21:20:56 · 88 阅读 · 0 评论 -
何时有必要重写equals()和hashCode()
当你要重写对象的equals方法时,你必须重写该对象的hashcode方法.两个对象之间要互相equals的话,就必有具备相同的hashcode.Set的存储机制是equals与hashcode相结合的。一般ADD一个对象会先根据equals方法判断与其他对象是否相等,因为Set是不允许重复add的。如你不覆盖equals方法,JAVA默认所有的对象都是不同的,也就是它们的内存地址...原创 2010-09-03 20:25:11 · 173 阅读 · 0 评论