关于java的多态
重载:方法名相同 返回类型和参数至少有一项不同(参数包括类型 和 数量)
重写:发生在子类 方法名 返回类型 参数都相同 只是把父类的此方法重新写而已
一直以来我对Facther f = new Son()这样的引用变量引用子类的实例都不是很懂。
还有就是向上向下转型
如:Animal animal = new Dog() // 引用变量引用了来自子类的实例
Dog dog = (Dog)animal; //将animal向下转型
Creature creature = (Creature)animal //将animal向上转型
成员变量、静态变量, 静态方法按照引用变量声明的类型静态绑定;实例方法按照引用变量引用的实例动态绑定。
例如,对于以下这段代码:
Fathers f=new Sons();
System.out.println(“f.var=”+f.var);
System.out.println(“f.staticVar=”+f.staticVar);
f.method();
f.staticMethod();
运行时将会输出如下结果:
f.var=FatherVar // 成员变量按照引用变量(f)的声明的类型(Father)静态绑定
f.staticVar=StaticFaterVar // 静态变量按照引用变量(f)的声明的类型(Father)静态绑定
Son method // 实例方法按照引用变量(f)的引用的实例(new Sons())动态绑定
Static Father method // 静态方法按照引用变量(f)的声明的类型(Father)静态绑定
class Fathers
{
String var="FatherVar";
static String staticVar="StaticFatherVar";
void method(){System.out.println("Father method");}
static void staticMethod(){System.out.println("Static Father method");}
}
class Sons extends Fathers
{
String var="SonVar";
static String staticVar="StaticSonVar";
void method(){System.out.println("Son method");}
static void staticMethod(){System.out.println("Static Son method");}
}
参考:http://hi.baidu.com/%CE%C4%D3%EA41/blog/item/9330b41f97375dcda68669e5.html
相关文档:
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 ......
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
觉得留言很有道理,文章很哲理,一并转载 建议读者看原文地址
作者: 阮一峰
日期: 2008年12月 7日
下面的文章是More Joel on Software一书的第8篇。
我觉得翻译难度很大,整整两个工作日,每天8小时以上,才译出了5000字。除了Joel大量使用俚语,另一个原因是原文涉及"编程原理",好多东西我根本不懂。希 ......
/**
* 描述:数据库初始化基本类
*
* @作者 王群
* @创建日期 2010-04-08
* @修改人 xxx
* @修改日期 xxx
* @检查人 xxx
* @检查日期 xxx
*/
import java.sql.SQLException;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.oumasoft.bstmanage.ibatis.SqlMapConfig;
import com.oumasof ......
服务器中转消息,是费时的事,可以加入多线程。这样以来,会产生很多线程。可以运用线程池来管理。
这里运用java.util.concurrent包的Executors.newCachedThreadPool来管理。
废话少说,上代码:
服务器端:MySocketServer.java
/*
* To change this template, choose Tools | Templates
* and open the ......