关于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
相关文档:
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
代码如下:
package com.test.j2se;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
/**数据加密
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
MessageDigest code = MessageD ......
public class MyEnumTestMain {
public enum MyenumTest{red,blue,green,black}//定义枚举类型
public static void main(String[] args) {
MyenumTest mt = MyenumTest.red;//red相当于枚举的静态属性
switch(mt){
case red:
System.out.println("red");
break;
case blue:
......