java 与模式 第五章,第六章接口和抽象类
接口和抽象类是java中最重要的2个特征,在本书中写到了具体的应用,看了使我恍然大悟。
在接口中,所有的方法都是public 当然在接口中也可以有public static final属性
为什么使用接口:
1接口是对可插入性的保证
对继承的子类有影响,对超类没有影响,减少耦合度
2接口(以及抽象类)用来声明一个新的类型
3 java接口一般用来作为一个类型的等级结构起点
Java接口常见的用法
1单接口方法,比如Runnable
2标识接口,比如Serializable,不建议使用
3常理接口,不建议使用
抽象类仅提供一个类型的部分实现。抽象类可以有实例变量,以及一个或多个构造子。抽象类可以同时有抽象方法和具体方法。
抽象类的用途:抽象类不可以实例化,因此设计出一个抽象类一定是被继承的,从而说明了具体类不是用来继承的。
抽象类应该拥有尽可能多的共同代码
抽象类应该具有尽可能少的数据
值得说明的一点是在程序设计过程中,不要从工具类来继承。
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
2008 年 6 月 24 日
原文地址: http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0806wangys/
本文介绍 IBM FileNet P8 4.0 Platform 提供的 Content Java API。首先对 FileNet P8 Content Engine 和 API 进行概要介绍, 并说明了一些基本概念,随后详细介绍了 FileNet Content Engine提供的基于 EJB ......
public static boolean telnetTest() {
boolean b=false;
Socket server = null;
try {
server = new Socket();
InetSocketAddress address = new InetSocketAddress(
"192.168.1.101", 80);
server.connect(address, 5000);
b=true;
} catch (UnknownHostException e) {
e.printSta ......
第一种:效率高
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
第二种:效率低,以后尽量少使用!
Map map = new HashMap();
......
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。
昨天老板同学又遇到这个问题,File#rena ......