易截截图软件、单文件、免安装、纯绿色、仅160KB

关于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


相关文档:

JAVA反射机制的简单应用

  开发的时候有时候会碰到这样的情况,我们在写程序的时候并不知道需要调用某个对象的哪个方法,只有程序运行后,我们才能够知道。或许我们需要根据客户端传过来的某个String参数的值来判断我们应该执行哪个方法。在这种情况下JAVA的反射执行就可以帮上忙了。下面是我做的一个简单的测试代码,提供给大家做个参考。
i ......

采用Java的类进行md5加密

代码如下:
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 ......

java和c#的锁

要在Java中获得某一变量的锁,必须在代码的首尾二端加上synchronized关健字,指明需要获得锁的对象。一旦线程开始执行synchronized块中的代码,它就获得了对这一对象的锁的控制权。同样,一旦线程已经离开了synchronized块,它也将释放这一对象的锁。我们已经知道,C#也有一个相似的被称作lock的关健字。除了lock这个关健字 ......

java 命令行调用,更改当前路径,程序运行出错

自己的源程序是在F:\parser\ParserDemo.java,
使用命令行:javac -classpath stanford-parser.jar;. ParserDemo.java编译,
命令行:java -cp stanford-parser.jar;. Parser运行
都没有问题。
但是当我在c++程序中使用用命令行(java -cp stanford-parser.jar;. Parser)调用改程序就会出错。提示:java.lang.NoClassD ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号