动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.WebSphere Enterprise Scheduler.
.根据name调用getName方法.
.如何使用动态代理实现AOP功能.
.Java中“异常机制”深入研究.
.解决java网络编程IPv6带来的问题.
.charCodeAt 方法.
.Why Java can be used for games?.
.程序员注意:Java开发最容易犯的.
.Spring MVC框架的高级配置.
.基于OO模版技术的文档Web输出新法.
.Struts的起源.
.J2EE中用RMI和CORBA进行分布式Ja.
.J2EE体系结构.
.Java语言与Generics.
.java自己做个每小时自动更新的代.
.从数据库读出的JPG文件的字符流,.
.分析 Java 中乱码问题产生的根源.
.EJB 技术的数据库应用(2).
.教你如何编写Java类(二).
.基础入门:JAVA初学的一些技巧.

Java 库的建立方法及其实例(2)

发表日期:2008-1-5 |



  Java 库的建立方法及其实例(2)

设计原则一:封装

一个好的库必须是一个紧凑的关系紧密的整体,而不是一个分散的关系松散的对象的集合。

package是Java提供的一种类库的封装机制。一个package是一个Java类文件的集合,存放在同一个目 录中。package有专有的名字空间。

专有的名字空间的一个好处是,你不用担心名称的冲突。因为,假如你的类的名称和别人的类的名 称冲突,但是他们不在同一个package中,利用这一点可以避免名字的冲突。

每一个package都有一个字符串来代表,比如java.lang, 或者javax.swing.plaf.basic.实际上每一个类的 全名都是由package的名字加上类的名字来代表的,这样就避免了名字的冲突,比 如,java.lang.Object或者javax.swing.plaf.basic.BasicMenuBarUI.

注重,有一个非凡的package叫做default package。假如你不声明你的类属于任何一个package,那么 它就被假定属于default package.

每一个package的名字都对应一个目录。比如,java.lang.Object 存放在java/lang/Object.java中,每一 个.对应一个/. default package存放的目录是当前目录。

声明一个package.

// Server.java



package mylib;



public class Server implements Runnable

{

// ...

假如有import语句,必须放在package语句的后面。



当然你也可以引入别的package. 例如:

import mylib.Server;



// ...



Server server = new Server( portNum );

Java答应你决定package中的哪些类对外部是可见的。public类可以被包外的代码使用,而private类 则不行。

比如,让Server类能被外部的代码使用:

// Server.java



package mylib;



import java.io.*;

import java.net.*;



public class Server implements Runnable

{

假如你不想让类被外部的代码使用,可以用缺省的属性,去掉public. 例如:



// Reporter.java



package mylib;



class Reporter implements Runnable

{



设计原则二:继续

在我们的例子中,Server是主要的类。假如你看这个类的代码,就能看到,它本身其实什么也不 做。主循环用来监听连接。当连接建立以后,它把处理连接的任务交给一个叫做handleConnection() 的函数。

// subclass must supply an implementation

abstract public void handleConnection( Socket s );

因为没有实现这一函数,所以这个类被声明为abstract,使用者必须实现这个函数。



// This is called by the Server class when a connection

// comes in. "in" and "out" come from the incoming socket

// connection

public void handleConnection( Socket socket ) {

try {

InputStream in = socket.getInputStream();

OutputStream out = socket.getOutputStream();



// just copy the input to the output

while (true)

out.write( in.read() );

上一篇:Java 库的建立方法及其实例(6) 人气:449
下一篇:Java 库的建立方法及其实例(1) 人气:366
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-14 25175学生成绩管理系统 v2.88
2008-10-14 冰雪CMS v2.0 bulid 081013
2008-10-14 Modoer多功能点评系统 v1.1 Beta
2008-10-14 乐风CMS乐风影视版 v2008.10.13
2008-10-14 FeitecCMS 40T免费资源网整站源码
2008-10-14 Asoft签到管理系统 v3.0 Pack2
2008-10-14 金博人才招聘求职网黄金版 v4.2
2008-10-14 游戏推广无限制版本
2008-10-14 AmEav WebSite 业网站管理系统 英
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成