简单的文件上传
upload.html
<form name="FORM" action="upload.asp" method="post"> <input type="submit" name="submit" value="OK"> <input type="file" name="file1" style="width:400" value=""> </form>
upload.asp:
<% Function GetFileName(ByVal strFile) If strFile <> "" Then GetFileName = mid(strFile,In...
Saturday, 18. March 2006, 02:01:51
Programming
下载文件你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。1、Hibernate包下载地址:http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc2、Ant包下载地址:http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip3、JDBC Driver要根据你用的database来定,一般databa...
struts in action第一例中的两个类
UserDirectory.class
package app;import java.io.IOException;import java.io.InputStream;import java.io.FileOutputStream;import java.util.Enumeration;import java.util.Properties;import java.net.URL;
public class UserDirectory {
/** / private static fi...
作者:thinker 2004-05-18
转贴自www.csdn.net 第一个是path 和 CLASSPATH的问题 第二个是package和import问题 第三个是public,protected,private,static,什 么时候用,为什么要用,怎么用 第四个是制作jar文件 第一个,path 和 CLASSPATH的问题 什么是path 是你的JDK的工作路径 例如 你的jdk安装在C:/jdk/ 此时的你的path(如果原来没有PATH)设置为 PATH ;C:/jdk/ bin 什么是Classpath Classpath是Java中...
一、方法
overriding(覆盖)
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果; 2、覆盖的方法的返回值必须和被覆盖的方法的返回一致; 3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类; 4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
overloading(重载)
1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,in...
当对象被构造时,所有的字段被分配内存,包括从父类继承的字段,这些字段被设置默认值。然后执行以下三个阶段。
1、调用父类的构造器。
2、初始化所的字段。
3、执行构造体。
例:class X {
protected int xMask = 0x00ff;
protected int fullMask;
public X() {
fullMask = xMask;
}
public int mask(int orig) {
return (orig & fullMask);
...
在Java中看到接口,第一个想到的可能就是C++中的多重继承和Java中的另外一个关键字abstract。从另外一个角度实现多重继承是接口的功能之一,接口的存在可以使Java中的对象可以向上转型为多个基类型,并且和抽象类一样可以防止他人创建该类的对象,因为接口不允许创建对象。
interface关键字用来声明一个接口,它可以产生一个完全抽象的类,并且不提供任何具体实现。interface的特性整理如下:
1. 接口中的方法可以有参数列表和返回类型,但不能有任何方法体。
2. 接口中可以包含字段,但是会被隐式的声明为static和final。
3. 接口中的字段只是被存储在该接口的...
[作者:umlchina 转贴自:www.umlchina.com ]
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块...
引用至:http://rella.blogchina.com/1954932.html
在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解。
刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有方法名,没有方法体的东西,我实现它又有什么用呢?我从它那什么也得不到,除了一些方法名,我直接在具体类里加入这些方法不就行了吗?
为什么一定要有抽象类这个概念?为什么就不能把这个父类写成一个具体的类,子类再继承它不就可以了吗?何必弄一个抽象类出来,还要弄一些没有方法体的抽象方法,弄得又象接口又象类...
选择Java接口还是抽象类 作者:俞良松 本文选自:开放系统世界-赛迪网 2003年03月12日 很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。
实际上接口和抽象类的选择不是随心所欲的。 要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描述方式时,应当达到这样一个目标:在使用实体的时候,无需详细了解实体行为的实现方式。也就是说,要把对象...
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。一、理解抽象类ab...
4. Map接口 Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value pairs)。该接口描述了从不重复的键到值的映射。 (1) 添加、删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object key): 从映像中删除与key相关的映射 void putAll(Map t): 将来自特定映像的所有元素添加给...
3.Set接口 Set 接口继承 Collection 接口,而且它不允许集合中存在重复项,每个具体的 Set 实现类依赖添加的对象的 equals()方法来检查独一性。Set接口没有引入新方法,所以Set就是一个Collection,只不过其行为不同。 3.1. Hash表 Hash表是一种数据结构,用来查找对象。Hash表为每个对象计算出一个整数,称为Hash Code(哈希码)。Hash表是个链接式列表的阵列。每个列表称为一个buckets(哈希表元)。对象位置的计算 index = HashCode % buckets (HashCode为对象哈希码,buckets为哈希表...
2.List接口 List 接口继承了 Collection 接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。 (1) 面向位置的操作包括插入某个元素或 Collection 的功能,还包括获取、除去或更改元素的功能。在 List 中搜索元素可以从列表的头部或尾部开始,如果找到元素,还将报告元素所在的位置 : void add(int index, Object element): 在指定位置index上添加元素element boolean addAll(int index, Collection c): 将集合c的所有元素添加...
集合接口 1.Collection 接口 用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。 (1) 单元素添加、删除操作: boolean add(Object o):将对象添加给集合 boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o (2) 查询操作: int size() :返回当前集合中元素的数量 boolean isEmpty() :判断集合中是否有任何元素 boolean contains(Object o) :查找集合中是否含有对象o Iterator iterator...
Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。 Java 2集合框架图 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。 实现类:8个实现类(实线表示),对接口的具体实现。 在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码。 · Collection 接口是一组允许重复的对象。 ·...
作者:admin 日期:2006-09-14 最近有空翻阅了《Java 2核心技术》卷I,对于其中的第十三章──泛型程序设计的章节摘录了下面的内容做为读书笔记,以便日后方便查看。 从java程序设计语言1.0版本发布以来,变化最大的部分就是泛型。 泛型正是我们需要的程序设计手段。使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后进行强制类型转换的代码具胡更好的安全性和可读性。 一.为什么使用泛型 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。 在JDK5.0以前,Java泛型是用继承来实现的。如ArrayList类:...
JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型.
1、Java泛型
其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics<K,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子:
//code list 1 import Ja...
为了使用该控件,可执行以下步骤: 1、在窗体上拖放一个NotifyIcon控件 2、设置NotifyIcon的Icon和Text属性,Icon指定状态栏显示的图标,Text用于显示一个ToolTip 3、在窗体中加入如下代码 1 public partial class Form1 : Form 2 { 3 FormWindowState preState; 4 public Form1() 5 { 6 InitializeComponent(); 7 } 8 9 private v...
1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory()获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Ad...